The present invention relates to a receiver, a receiving method, and a computer program.
In recent years, Orthogonal Frequency Division Multiplexing Access (OFDMA), which is a wireless access scheme having a high frequency-use-efficiency, is used for the purpose of an increase of communication speed in a field of wireless communication. OFDM is adopted, for example, in digital terrestrial broadcasting and wireless Local Area Network (LAN), and also in mobile communication as well as in Long Term Evolution for which a standardization approach by using a new communication scheme is now discussed in 3rd Generation Partnership Project (3GPP).
A receiving side has a user terminal 121. The user terminal 121 receives the data, transmitted out of the antennas 115 of the base station 101, by the intermediary of a plurality of antennas 131. At this point, it is taken into consideration that the data received by the antennas 131 is affected by noise during the time of propagating through space after being launched from the antennas 115. The data received by the antennas 131 is input into an Analog/Digital (A/D) converter 132. The A/D converter 132 converts the analog signal of the input data into a digital signal. The A/D converter 132 outputs the converted digital signal to an OFDM signal demodulator 133. Then, the OFDM signal demodulator 133 transforms the digital signal on the time axis, which is output from the A/D converter 132, into data on a frequency axis by means of a Digital Fourier Transform, and carries out mapping the data on an I-Q plane. A demodulator 134 demodulates the data output from the OFDM signal demodulator 133, the data being mapped on the I-Q plane. Then, the demodulator 103 outputs the demodulated data, obtained by means of demodulation, to a decoder 135. The decoder 135 performs error correction decoding with respect to the input demodulated data. By using decoded data obtained as a result, a processing circuit in a later stage, such as a CPU, carries out a predetermined process.
In the OFDM signal demodulator 133 of the communication system using the OFDM scheme, channel estimation processing is performed for propagation path compensation. With respect to such the OFDM scheme, it is known that an accuracy of a channel estimation value can be improved by way of time-domain noise suppression, while a channel estimation value obtained in a frequency domain being transformed into a time domain.
For the time-domain noise suppression of the channel estimation value, a transform from a frequency domain to a time domain is needed, and furthermore it is needed to transform the channel estimation value after the noise suppression into a frequency domain. Namely, for one-time noise suppression of the channel estimation value, Inverse Fast Fourier Transform (IFFT) and Fast Fourier Transformation (FFT) need to be performed each one time. For Fourier Transform of a digital signal, as a general rule, algorithms of the Fast Fourier Transform (FFT) and its inverse transform, namely the Inverse Fast Fourier Transform (IFFT), are used in order to reduce the amount of computations.
Meantime, patent literature PTL 1 discloses a scheme for suppressing a noise contained in a time-domain channel estimation value, for channel estimation in wireless communication in which a great number of subcarriers are used for communication.
According to the disclosure of PTL 1, a channel estimation value from a pilot signal mapped in each subcarrier is obtained in a frequency domain, and an Inverse Fast Fourier Transform is performed in order to transform the channel estimation value into a time-domain channel estimation value. Then, for transforming the channel estimation value after noise suppression into a frequency-domain channel estimation value, a Fourier Transform is used.
Unfortunately, in an OFDM scheme in which a lot of data processing operations are required, a reduction in the amount of processing operation for each constituent element becomes necessary.
Thus, it is an object of the present invention to provide a receiver, a receiving method and a computer program, that give a solution to the issue described above; namely that make it possible to further reduce computations.
To give a solution to the issue described above, an aspect of a receiver of the present invention is; a receiver for receiving a signal containing a frequency-domain channel estimation value composed of N pieces of data (wherein N is a power of 2), and computing a time-domain channel estimation value by way of DFT (Discrete Fourier Transform) computations of P times (P represents log2 N) with respect to the channel estimation value, the receiver comprising: a determination means for determining an Mth DFT computation (M is equal to or greater than 2, and equal to or less than P), with which the DFT computation begins, out of the DFT computations of P times, according to the number of data, having been not replaced with ‘0’, out of the N pieces of data constituting the frequency-domain channel estimation value obtained from the signal received; a generation means for generating a twiddle factor for computing a datum to be input into the Mth DFT computation determined; a calculation means for calculating a datum to be input into the Mth DFT computation, by using the frequency-domain channel estimation value obtained from the signal received and the twiddle factor generated; and a computation means for computing the time-domain channel estimation value by performing DFT computations in a range from the Mth DFT computation to the Pth DFT computation.
Moreover, an aspect of a receiving method of the present invention is; a receiving method for receiving a signal containing a frequency-domain channel estimation value composed of N pieces of data (wherein N is a power of 2), and computing a time-domain channel estimation value by way of DFT computations of P times (P represents log2 N) with respect to the channel estimation value, the receiving method comprising steps of: determining an Mth DFT computation (M is equal to or greater than 2, and equal to or less than P), with which the DFT computation begins, out of the DFT computations of P times, according to the number of data, having been not replaced with ‘0’, out of the N pieces of data constituting the frequency-domain channel estimation value obtained from the signal received; generating a twiddle factor for computing a datum to be input into the Mth DFT computation determined; calculating a datum to be input into the Mth DFT computation, by using the frequency-domain channel estimation value obtained from the signal received and the twiddle factor generated; and computing the time-domain channel estimation value by performing DFT computations in a range from the Mth DFT computation to the Pth DFT computation.
Furthermore, an aspect of a computer program of the present invention is; a computer program of a computer constituting a receiver for receiving a signal containing a frequency-domain channel estimation value composed of N pieces of data (wherein N is a power of 2), and computing a time-domain channel estimation value by way of DFT computations of P times (P represents log2 N) with respect to the channel estimation value, the computer program comprising: a determination step for determining an Mth DFT computation (M is equal to or greater than 2, and equal to or less than P), with which the DFT computation begins, out of the DFT computations of P times, according to the number of data, having been not replaced with ‘0’, out of the N pieces of data constituting the frequency-domain channel estimation value obtained from the signal received; a generation step for generating a twiddle factor for computing a datum to be input into the Mth DFT computation determined; a calculation step for calculating a datum to be input into the Mth DFT computation, by using the frequency-domain channel estimation value obtained from the signal received and the twiddle factor generated; and a computation step for computing the time-domain channel estimation value by performing DFT computations in a range from the Mth DFT computation to the Pth DFT computation.
According to a first aspect of the present invention, it becomes possible to provide a receiver, a receiving method and a computer program that make it possible to further reduce computations.
A receiver of a preferred embodiment of the present invention is explained below with reference to the accompanied drawings through
The multiplier 11 multiplies an input signal by a twiddle factor generated in the twiddle factor generation unit 17, and supplies a product datum obtained as a result of the multiplication to the selector 12. Regarding the twiddle factor, an explanation is made later.
The selector 12 is a selector for selecting a storage destination for an input signal, and it supplies a datum supplied from the multiplier 11 to either the memory unit 13 or the memory unit 14, according to an instruction coming from the control unit 19. The memory unit 13 and the memory unit 14 are each composed of a semiconductor memory or the equivalent; and these units store input data, output data or intermediary values of a Fast Fourier Transform. The memory unit 13 and the memory unit 14 are each structured in such a way as to store N sets of complex data. Incidentally, the input data of a Fast Fourier Transform include a product of an input signal and a twiddle factor, the product being supplied from the multiplier 11 by the intermediary of the selector 12.
In a computation of a Fast Fourier Transform, the selector 15 is a selector that switches between the memory unit 13 and the memory unit 14 as a readout source of an input datum (an input datum or an intermediary value to the Fast Fourier Transform) to the 2-point DFT computation unit 16 and a write destination of an output datum (an output datum or an intermediary value from the Fast Fourier Transform).
The 2-point DFT computation unit 16 applies a DFT computation with a radix-2, to the input datum or the intermediary value of the Fast Fourier Transform, the input datum and the intermediary value being stored in one of the memories 13 and 14 and being supplied through the selector 15; and then the 2-point DFT computation unit 16 supplies a result obtained by the computation to the multiplier 18.
The twiddle factor generation unit 17 generates a twiddle factor by which an input signal or an output datum coming from the 2-point DFT computation unit 16 is multiplied.
The multiplier 18 multiplies the result of the DFT computation with a radix-2 by an operator supplied from the twiddle factor generation unit 17, the result of the DFT computation being supplied from the 2-point DFT computation unit 16. Then, a datum of a product obtained as a result of the multiplication is supplied through the selector 15 to the other of the memories 13 and 14, as an output datum of the Fast Fourier Transform. In this context, when the memory 13 stores the input datum or the intermediary value to the DFT computation with a radix-2 in the 2-point DFT computation unit 16, “the other of the memories 13 and 14” represents the memory 14. Meanwhile, when the memory 14 stores the input datum or the intermediary value to the DFT computation with a radix-2 in the 2-point DFT computation unit 16, “the other of the memories 13 and 14” represents the memory 13.
Referring to the numbers of channel estimation value data that are not replaced with ‘0’, the control unit 19 controls the selector 12, the memories 13 and 14, the selector 15, the 2-point DFT computation unit 16, and the twiddle factor generation unit 17, the numbers of channel estimation value data having been input as a range for noise suppression, and having been obtained as a result of noise suppression. Then, the control unit 19 conducts various operations, such as selecting a write destination of an input signal, generating a readout address or a write address of the memory 13 or 14, controlling a twiddle factor generating operation, regulating or controlling the number of 2-point DFT computations or processing stages, and selecting a readout source of an input datum of the 2-point DFT computations or a write destination of an output datum of the same.
Explained below in this context is a Fast Fourier Transform applying radix-2 in which a 2-point DFT computation is a basic element, the Fast Fourier Transform being performed in a section of a receiver where an OFDM signal is demodulated, and being a type of Cooley-Tukey fast Fourier transform.
When the number of data is expressed as N (wherein N is a power of 2 (in the case of a radix being 2)), a Fast Fourier Transform of a Cooley-Tukey type is resolved into a group of DFT computations of log2 N times, in the case of a radix being 2. In the explanation below in this context, log2 N is expressed as P.
In the group of DFT computations of P times, a group of DFT computations at each time is referred to as a stage. Then, stages are referred to as a first stage, a second stage, - - - , a Pth stage, starting from an input side.
As a Fast Fourier Transform of a Cooley-Tukey type, there are two types of possible configurations; namely, a decimation-in-time type and a decimation-in-frequency type; depending on a way of resolving into 2-point DFT computations. On this occasion, a Fast Fourier Transform having a configuration of a decimation-in-frequency type is explained as an example. Incidentally, any other radix than radix-2 can be adopted, and it is also possible to adopt a configuration of a decimation-in-time type.
An output X′(m) of a 2-point DFT computation is calculated by using Expression (1). Each of X′(m) and x′(m) is a complex number, and “j” is an imaginary unit.
X′(0)=x′(0)+x′(1)
X′(1)=x′(0)−x′(1) (1)
It is known that, though according to PTL 1, a time-domain channel estimation value is replaced with ‘0’ by using a threshold TH, a peak of power frequently appears at both ends in an actual propagation path so that most of channel estimation values in the vicinity of a middle portion are replaced with ‘0’.
In the case where the number of channel estimation values to be replaced with ‘0’ is N/4 points toward both the ends from the middle portion, namely when the number of channel estimation values is N/2 points or more in total, the amount of FFT computations can be reduced. Incidentally, in the above explanation, N is a power of 2, which is equal to or greater than 8.
A way of reducing the amount of computations is explained below by using an example of an FFT operation with N=16, in which a DFT computation applying radix-2 is performed in the same way as described above.
Incidentally, the following explanation is made, while assuming some cases according to the number of channel estimation values, at both the ends, which are not replaced with ‘0’.
Explained at first is a case in which one of both ends of the numbers of channel estimation value data that are not replaced with ‘0’ is equal to or greater than 3 (=N/8+1) and equal to or less than 4 (=N/4).
As shown in
Namely, as “A” shows in
Moreover, as shown in
−x(a)*W16k=x(a)*W16N−k(k=0˜N−1) (2)
The same explanation is adopted for the following processes so that no computation for a sign inversion is needed.
Secondly, explained below is a case in which one of both ends of the numbers of channel estimation value data that are not replaced with ‘0’ is equal to 2 (=N/16+1).
In the same way as explained for the first case above, if a datum at a position, not being ‘0’, multiplied by a twiddle factor W is prepared for an input to the third stage in advance, a DFT computation at the first stage and the second stage can be skipped. Though it seems in
Moreover, the input data to the third stage shown in
Namely, as “B” shows in
Thirdly, explained below is a case in which one of both ends of the numbers of channel estimation value data that are not replaced with ‘0’ is equal to 1 (=N/16).
In the same way as explained above for the first case and the second case, if a datum at a position, not being ‘0’, multiplied by a twiddle factor W is prepared for an input to the fourth stage in advance, a DFT computation at the first stage to the third stage can be skipped. Though it seems in
For example, an expression of −x(15)*W1613*W164 can be modified as Expression (3) shows, by making use of a symmetric property of a twiddle factor W.
Namely, as “C” shows in
In the above, the case with N=16 is explained. Meanwhile, the amount of FFT computations can also be reduced in the case with another N in the same manner as for the case with N=16. As a general rule, in the case where the number of channel estimation value data that are not replaced with ‘0’ is equal to or greater than [“N/2S+2+1] and equal to or less than [N/2S+1] at each of both ends, DFT computations for S stages and multiplication by a twiddle factor for (S−1) stages can be eliminated; wherein S={1, - - - , P−1}.
Next, an FFT operation is explained with reference to the flowchart shown in
In the following explanation, an address a represents a write address of the memory 13 in the case where an FFT operation starting from the first stage is performed; an Sth stage represents a stage where an actual process starts; and an address a′ represents a write address for an input to the Sth stage.
At Step S12, the control unit 19 determines a process-starting stage (Sth stage) according to the number of channel estimation value data that are not replaced with ‘0’. At Step S13, the twiddle factor generation unit 17 generates a twiddle factor W needed for calculating an input datum to the process-starting stage determined.
At Step S14, the control unit 19 switches the selector 12 in such a way that a datum from the multiplier 11 is supplied to the memory 13. The multiplier 11 calculates a datum of each address a′ of the process-starting stage, according to the channel estimation value after noise suppression and the twiddle factor, and then supplies the calculated datum to the memory 13 by the intermediary of the selector 12. In the meantime, the memory 13 internally writes the datum supplied from the multiplier 11 for storing the datum.
In other words, at the time when an input signal is written in the memory 13, an address a is converted to an address a′ by the control unit 19. Moreover, the control unit 19 controls the twiddle factor generation unit 17 according to a value of the address a in order to generate an appropriate twiddle factor, in such a way that a value as a result of multiplying the twiddle factor and the input signal together by the multiplier 11 is written in the address a′ of the memory 13.
As a first row shows (a “row” is an arrangement in a horizontal direction, and it means the same in the following explanation as well) at the top in
Moreover, as a ninth row from the top shows, an address a′ being 8 and a twiddle factor W being W160 are corresponding to an address a being 0. As a tenth row from the top shows, an address a′ being 9 and a twiddle factor W being W161 are corresponding to an address a being 1. As an eleventh row from the top shows, an address a′ being 10 and a twiddle factor W being W1610 are corresponding to an address a being 14. Then, as a twelfth row from the top shows, an address a′ being 11 and a twiddle factor W being W169 are corresponding to an address a being 15. Moreover, as a thirteenth row from the top shows, an address a′ being 12 and a twiddle factor W being W160 are corresponding to an address a being 0. As a fourteenth row from the top shows, an address a′ being 13 and a twiddle factor W being W163 are corresponding to an address a being 1. As a fifteenth row from the top shows, an address a′ being 14 and a twiddle factor W being W161° are corresponding to an address a being 14. Then, as a sixteenth row from the top shows, an address a′ being 15 and a twiddle factor W being W1613 are corresponding to an address a being 15.
Namely, in the case where the number of channel estimation value data is 16, and one of both ends of the numbers of channel estimation value data that are not replaced with ‘0’ is 2 (=N/16+1), a process-starting stage is the third stage. Accordingly, at the time when an input signal is written in the memory 13, an address ‘a’ shown in
At Step S15 in
In other words, after all input signals are written in the memory 13, the control unit 19 switches the selector 15 in such a way as to read from the memory 13 in which the input signals are stored, and to write into the memory 14. Then, the control unit 19 starts the FFT operation, beginning with the Sth stage; and performs the FFT operation of a range up to the Pth stage. Incidentally, in the operation of the range from the Sth stage to the Pth stage, the control unit 19 operates the selector 15 in such a way that, each time after finishing the operation of a stage, a result of a preceding stage is read out by a subsequent stage.
Furthermore, in the above procedure, a datum replaced with ‘0’ is controlled by the control unit 19 so as not to be written in the memory 13.
In this way, in an FFT operation in which a range of an input signal being ‘0’ is obvious beforehand; if the number of channel estimation value data that are not replaced with ‘0’ is equal to or greater than [N/2S+2+1] and equal to or less than (N/2S+1) at each of both ends, DFT computations for S stages and multiplication by a twiddle factor for (S−1) stages can be eliminated.
As a result of noise suppression, with respect to channel estimation values after the noise suppression, most of time-domain channel estimation values in a middle portion are ‘0’. Therefore, by making use of this effect, it becomes possible to reduce the amount of FFT operation for transforming the channel estimation values after the noise suppression into a frequency domain.
Thus, in the case of suppressing a noise contained in a time-domain channel estimation value, for channel estimation in wireless communication in which a great number of subcarriers are used for communication, it is possible to implement a circuit that enables fast transform of a channel estimation value after noise suppression from a time domain to a frequency domain. Then, while unnecessary computation is eliminated, a reduction in the amount of operation can be materialized.
Furthermore, the reduction in the amount of FFT operation can also be materialized by contriving a way of FFT stage processing, not by controlling a write destination and controlling multiplication by a twiddle factor at the time of storing an input signal into either the memory 13 or 14.
The section for demodulating an OFDM signal of the receiver shown in
The selector 21 is a selector for selecting a storage destination for an input signal, and it supplies a datum supplied from a previous step to either the memory 22 or 23, according to an instruction coming from the control unit 28. The memories 22 and 23 are each composed of a semiconductor memory or the equivalent; and these units store input data, output data or intermediary values of a Fast Fourier Transform. The memories 22 and 23 are each structured in such a way as to store N sets of complex data.
In a computation of a Fast Fourier Transform, the selector 24 switches between the memories 22 and 23 as a readout source and a write destination for the 2-point DFT computation unit 25.
The 2-point DFT computation unit 25 applies a 2-point DFT computation with a radix-2, to the input datum or the intermediary value of the Fast Fourier Transform, the input datum and the intermediary value being stored in one of the memories 22 and 23 and being supplied through the selector 24; and then the 2-point DFT computation unit 25 supplies a result obtained by the computation to the multiplier 27.
The twiddle factor generation unit 26 generates a twiddle factor W by which an output datum coming from the 2-point DFT computation unit 25 is multiplied.
The multiplier 27 multiplies the result of the DFT computation with a radix-2 by an operator supplied from the twiddle factor generation unit 26, the result of the DFT computation being supplied from the 2-point DFT computation unit 25. Then, a datum of a product obtained as a result of the multiplication is supplied to the other of the memories 22 and 23 by the intermediary of the selector 24, as an output datum of the Fast Fourier Transform. In this context, when the memory 22 stores the input datum or the intermediary value to the DFT computation with a radix-2 in the 2-point DFT computation unit 25, “the other of the memories 22 and 23” represents the memory 23. Meanwhile, when the memory 23 stores the input datum or the intermediary value to the DFT computation with a radix-2 in the 2-point DFT computation unit 25, “the other of the memories 22 and 23” represents the memory 22.
Referring to the numbers of channel estimation value data that are not replaced with ‘0’, the control unit 28 controls the selector 21, the memories 22 and 23, the selector 24, the 2-point DFT computation unit 25, and the twiddle factor generation unit 26, the numbers of channel estimation value data having been input as a range for noise suppression, and having been obtained as a result of noise suppression. Then, the control unit 28 conducts various operations, such as selecting a write destination of an input signal, generating a readout address or a write address of the memory 22 or 23, controlling a twiddle factor generating operation, regulating or controlling the number of 2-point DFT computations or processing stages, and selecting a readout source of an input of the 2-point DFT computations or a write destination of an output of the same.
In the section for demodulating an OFDM signal of the receiver shown in
In the section for demodulating an OFDM signal of the receiver shown in
After the operation for the S−1th stage, the control unit 28 switches the selector 24 in such a way as to read from the memory 23 and write into the memory 22.
An operation beginning with the Sth stage is the same as the operation already explained with reference to the flowchart of
Thus, the amount of computations can be further reduced.
The series of processes described above may be executed by means of hardware, and may also be executed by way of software. For executing the series of processes by way of software, a computer program constituting the software is installed into a computer, which is built in exclusive-use hardware, from a computer program recording medium; or the software is installed from a computer program recording medium, for example, into a general-purpose personal computer that can execute various functions with various computer programs being installed.
In the computer; a central processing unit (CPU) 61, a read only memory (ROM) 62, and a random access memory (RAM) 63 are interconnected by using a bus 64.
Moreover, an I/O interface 65 is connected to the bus 64. Connected to the I/O interface 65 are; an input unit 66 including a keyboard, a mouse, a microphone, and the like; an output unit 67 including a display, a speaker, and the like; a storage unit 68 including a hard disc, a non-volatile memory, and the like; a communication unit 69 including a network interface and the like; and a drive 70 for driving a removable medium 71 such as a magnetic disc, an optical disc, a magnetic optical disc, or a semiconductor memory.
In the computer configured as described above, the CPU 61 loads a computer program, for example, stored in the storage unit 68, to the RAM 63 by way of the I/O interface 65 and the bus 64, and executes the program in order to carry out the series of processes described above.
The computer program to be executed by the computer (the CPU 61) is recorded, for being provided, in the removable medium 71 as a package medium; such as, for example, a magnetic disc (including a flexible disc), an optical disc (Compact Disc-Read Only Memory (CD-ROM), Digital Versatile Disc (DVD), and the like), a magnetic optical disc, or a semiconductor memory; or the computer program is provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
Then, the computer program can be installed in the computer by way of being stored in the storage unit 68 through the I/O interface 65, while the removable medium 71 being mounted on the drive 70. Alternatively, the computer program can be installed in the computer by way of being stored in the storage unit 68, while being received in the communication unit 69 by the intermediary of a wired or wireless transmission medium. In another way, the computer program can previously be installed in the computer by way of storing the program in advance in the ROM 62 or the storage unit 68.
Incidentally, the program to be executed by the computer may be a program with which processes are carried out in chronological order along the sequence explained in this specification document, or may be a program with which processes are carried out in parallel or at the time as required, such as, in response to a call.
Furthermore, a scope of application of the embodiment of the present invention is not limited only to the embodiments described above, and various other variations may be made without departing from the concept of the present invention.
| Number | Date | Country | Kind |
|---|---|---|---|
| 2010-290031 | Dec 2010 | JP | national |
This is a U.S. national stage of application No. PCT/JP2011/080213, filed on Dec. 27, 2011. Priority under 35 U.S.C.§119(a) and 35 U.S.C.§365(b) is claimed from Japanese Patent Applications No. 2010-290031 filed on Dec. 27, 2010, the disclosure of which is also incorporated herein by reference.
| Filing Document | Filing Date | Country | Kind | 371c Date |
|---|---|---|---|---|
| PCT/JP2011/080213 | 12/27/2011 | WO | 00 | 6/14/2013 |