Digital filter circuit, digital filter processing method and digital filter processing program storage medium
09571066 ยท 2017-02-14
Assignee
Inventors
Cpc classification
H03H17/0248
ELECTRICITY
International classification
Abstract
Reduction of a circuit size and power consumption for performing digital filtering processing in a frequency domain is realized. The digital filter circuit includes: a complex conjugate generation unit for generating a second complex number signal including conjugate complex numbers of all complex numbers included in a first complex number signal of the frequency domain generated by converting a complex number signal of a time domain by Fourier transform; a filter coefficient generation unit for generating a first and a second frequency domain filter coefficient of a complex number from a first, a second and a third input filter coefficient of a complex number having been inputted; a first filtering unit for performing filtering processing to the first complex number signal by the first frequency domain filter coefficient, and outputting a third complex number signal; a second filtering unit for performing filtering processing to the second complex number signal by the second frequency domain filter coefficient, and outputting a fourth complex number signal; and a complex conjugate combining unit for combining the third complex number signal and the fourth complex number signal, and generating a fifth complex number signal.
Claims
1. A digital filter circuit, comprising: a complex conjugate generation unit that generates a second complex number signal including respective conjugate complex numbers of all complex numbers included in a first complex number signal of a frequency domain generated by converting a complex number signal of a time domain by Fourier transform; a filter coefficient generation unit that generates a first and a second frequency domain filter coefficient of a complex number from a first, a second and a third input filter coefficient of a complex number having been inputted; a first filtering unit that performs filtering processing to the first complex number signal by the first frequency domain filter coefficient, and outputting a third complex number signal; a second filtering unit that performs filtering processing to the second complex number signal by the second frequency domain filter coefficient, and outputting a fourth complex number signal; and a complex conjugate combining unit that combines the third complex number signal and the fourth complex number signal, and generating a fifth complex number signal.
2. The digital filter circuit according to claim 1, further comprising: a Fourier transform unit that converts the complex number input signal of the time domain having been inputted into the first complex number signal by the Fourier transform; and an inverse Fourier transform unit that converts the fifth complex number signal into a signal of the time domain by inverse Fourier transform.
3. The digital filter circuit according to claim 1, wherein, when assuming that the number of conversion samples of the Fourier transform is N (N is an integer of N>0), the complex conjugate generation unit generates a conjugate complex number of a complex number signal of frequency number (Nk) included in the first complex number signal as the second complex number signal.
4. The digital filter circuit according to claim 3, wherein the complex conjugate combining unit generates the fifth complex number signal by performing, for each of frequency number k in a range of 0kN1, complex addition of first complex data of frequency number k included in the third complex number signal and a second complex data of frequency number (Nk) included in the fourth complex number signal.
5. The digital filter circuit according to claim 1, wherein the filter coefficient generation unit: generates the first frequency domain filter coefficient by, after performing complex addition of the second input filter coefficient to the first input filter coefficient, further performing complex multiplication by the third input filter coefficient; and generates the second frequency domain filter coefficient by, after performing complex subtraction of the second input filter coefficient from the first input filter coefficient, further performing complex multiplication by the third input filter coefficient.
6. The digital filter circuit according to claim 1, wherein the first frequency domain filter coefficient is a complex number filter coefficient of the frequency domain corresponding to a filter coefficient for a real part of the complex input signal in a time domain filtering processing, the time domain filtering processing being filtering processing of the time domain for the complex input signal, wherein the second frequency domain filter coefficient is a complex number filter coefficient of the frequency domain corresponding to a filter coefficient for an imaginary part of the complex input signal in the time domain filtering processing, and wherein the third frequency domain filter coefficient is a complex number filter coefficient of the frequency domain corresponding to a filter coefficient for the complex number input signal in the time domain filtering processing.
7. A digital filter processing method implemented by one or more processors the digital filter processing method, comprising: receiving a first complex number signal from a Fourier transform unit, wherein the first complex number signal is generated by converting a complex number signal of the time domain into the first complex number by Fourier transform; generating a second complex number signal including respective conjugate complex numbers of all complex numbers included in the first complex number signal of a frequency domain; generating a first and a second frequency domain filter coefficient of a complex number from a first, a second and a third input filter coefficient of a complex number having been inputted; performing filtering processing to the first complex number signal by the first frequency domain filter coefficient, and outputting a third complex number signal; performing filtering processing to the second complex number signal by the second frequency domain filter coefficient, and outputting a fourth complex number signal; combining the third complex number signal and the fourth complex number signal, and generating a fifth complex number signal; and outputting the fifth complex number signal to an inverse Fourier transform unit.
8. A non-transitory storage medium storing a digital filter processing program for making a computer provided in an arithmetic device function as: a complex conjugate generation unit that generates a second complex number signal including respective conjugate complex numbers of all complex numbers included in a first complex number signal of a frequency domain generated by converting a complex number signal of a time domain by Fourier transform; a filter coefficient generation unit that generates a first and a second frequency domain filter coefficient of a complex number from a first, a second and a third input filter coefficient of a complex number having been inputted; a first filtering processing unit that performs filtering processing to the first complex number signal by the first frequency domain filter coefficient, and outputting a third complex number signal; a second filtering processing unit that performs filtering processing to the second complex number signal by the second frequency domain filter coefficient, and outputting a fourth complex number signal; and a complex conjugate combining unit that combines the third complex number signal and the fourth complex number signal, and generating a fifth complex number signal.
Description
BRIEF DESCRIPTION OF DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
DESCRIPTION OF EMBODIMENTS
(12) Next, an exemplary embodiment of the present invention will be described with reference to a drawing.
The First Exemplary Embodiment
(13)
(14) The following complex number signal in a time domain is inputted to the digital filter circuit 10.
x(n)=r(n)+js(n)(1)
(15) The FFT circuit 13 converts inputted complex number signal x(n) into the following complex number signal of a frequency domain by FFT.
X(k)=A(k)+jB(k)(2)
(16) Here, n is an integer of 0nN1 which indicates a signal sample number on the time domain, N is an integer of 0<N which shows the number of conversion samples of FFT, and k is an integer of 0kN1 which shows a frequency number on the frequency domain.
(17) The FFT circuit 13 generates
X(Nk)=A(Nk)+jB(Nk)(3)
from X(k), and outputs X(Nk).
(18) Meanwhile, FFT is one method for performing Fourier transform at high speed. A processing form and a processing speed of Fourier transform are not essential problems for the present invention. Accordingly, a circuit which performs Fourier transform by a method besides FFT is allowed to be used instead of the FFT circuit 13. This point is also similar about IFFT mentioned later.
(19) The complex conjugate generating circuit 15 receives input X(Nk) which the FFT circuit 13 outputs about each of frequency number k of 0kN1, and generates the following complex conjugate of X(Nk).
X*(Nk)=A(Nk)jB(Nk)(4)
(20) The complex conjugate generating circuit 15 outputs inputted complex number signal X (k) as a complex number signal 32, and outputs complex number signal X*(Nk) which has been generated as a complex number signal 33.
(21) Next, about each of frequency number k of 0kN1, the filter coefficient generating circuit 41 generates from inputted complex number coefficients V(k), W(k) and H(k) the following two complex number coefficients.
C1(k)={V(k)+W(k)}H(k)(5)
C2(k)={V(k)V(k)}H(k)(6)
(22) Here, complex number coefficient V(k), W(k) and H(k) are coefficients in the frequency domain which are given from a higher rank circuit (not shown) of the digital filter circuit 10, and correspond to real number filter coefficients when performing filtering processing by real number operation in the time domain. Description of details of V(k), W(k) and H(k) will be made later.
(23) The filter coefficient generating circuit 41 outputs generated complex number coefficient C1(k) as a complex number signal 45. The filter coefficient generating circuit 41 generates complex number signal C2(Nk) from complex number signal C2(k) (Formula (6)), and outputs C2(Nk) as a complex number signal 46.
(24) Next, the filter circuit 21 performs complex number filtering processing by complex number multiplication to X(k) (Formula (2)) which the complex conjugate generating circuit 15 outputs to the complex number signal 32, using C1(k) (Formula (5)) which the filter coefficient generating circuit 41 outputs to the complex number signal 45. Specifically, about each frequency number k of 0kN1, the filter circuit 21 calculates a complex number signal
X(k)=X(k)C1(k)(7)
and outputs it as a complex number signal 34.
(25) Similarly, the filter circuit 22 performs complex number filtering processing by complex number multiplication to X*(Nk) (Formula (4)) which the complex conjugate generating circuit 15 outputs to the complex number signal 33, using C2(Nk) (Formula (6)) which the filter coefficient generating circuit 41 outputs to the complex number signal 46. Specifically, about each frequency number k of 0kN1, the filter circuit 22 calculates a complex number signal
X*(Nk)=X*(Nk)C2(Nk)(8)
and outputs X*(Nk) as a complex number signal 35.
(26) Each of C1(k) and C2(k) can be written by being divided into a real part and an imaginary part as follows.
C1(k)=C1I(k)+jC1Q(k)(9)
C2(k)=C2I(k)+jC2Q(k)(10)
(27) Next, the complex conjugate combining circuit 16 generates complex number signal X(k) by combining X(k) (Formula (7)) which the filter circuit 21 outputs to the complex number signal 34 with X*(Nk) (Formula (8)) which the filter circuit 22 outputs to the complex number signal 35. Specifically, about each of frequency number k of 0kN1, the complex conjugate combining circuit 16 calculates
X(k)={X(k)+X*(Nk)}(11)
and outputs it as a complex number signal 36.
(28) Next, about each of frequency number k of 0kN1, the IFFT circuit 14 generates complex number signal x(n) of the time domain for X(k) (Formula (11)) which the complex conjugate combining circuit 16 outputs to the complex number signal 36 by IFFT, and outputs x(n).
(29)
X*(Nk)=A(Nk)jB(Nk)(4)
and outputs X*(Nk).
(30) Each of X(k) and X*(Nk) can be written by being divided into a real part and an imaginary part as follows.
X(k)=XI(k)+jXQ(k)(12)
X*(Nk)=X*I(Nk)+jX*Q(Nk)(13)
(31)
(32)
and outputs X(k).
(33) Here, XI(k) and XQ(k) are the real part and the imaginary part of X(k), respectively, and are given by the following equation.
XI(k)=XI(k)C1I(k)XQ(k)C1Q(k)(15)
XQ(k)=XI(k)C1Q(k)+XQ(k)C1I(k)(16)
(34)
(35)
and outputs X*(Nk).
(36) Here, X*I(Nk) and X*Q(Nk) are the real part and the imaginary part of X*(Nk), and are given by the following equations, respectively.
X*I(Nk)=X*I(Nk)C2I(Nk)X*Q(Nk)C2Q(Nk)(18)
X*Q(Nk)=X*I(Nk)C2Q(Nk)+X*Q(Nk)C2I(Nk)(19)
(37)
(38)
and outputs X(k).
(39) Here, XI(k) and XQ(k) are the real part and the imaginary part of X(k), respectively, and are given by the following equations.
XI(k)={XI(k)+X*I(Nk)}(21)
XQ(k)={XQ(k)+X*Q(Nk)}(22)
(40) Here, XI(k), XQ(k), X*I(Nk) and X*Q(Nk) are respectively given by the Formulas (15), (16), (18) and (19).
(41) The filter coefficient generating circuit 41 generates the complex number coefficients C1(k) and C2(k) used in the filter circuits 21 and 22.
(42) Here, they are as follows.
V(k)+W(k)=VI(k)+WI(k)+jVQ(k)+jWQ(k)(23)
V(k)W(k)=VI(k)WI(k)+jVQ(k)jWQ(k)(24)
(43) Here, VI(k) and VQ(k) are the real part and the imaginary part of V(k), respectively, and WI(k) and WQ(k) are the real part and the imaginary part of W(k), respectively.
(44) Also, H(k) can be written as follows in a manner being divided into the real part and the imaginary part.
H(k)=HI(k)+jHQ(k)(25)
(45) Next, the filter coefficient generating circuit 41 calculates the complex number coefficients C1(k) and C2(k) defined by the following Formulas and outputs C1(k) and C2(k).
(46)
(47) Where, C1I(k) and C1Q(k) are the real part and the imaginary part of C1(k), respectively, and C2I(k) and C2Q(k) are the real part and the imaginary part of C2(k), respectively.
(48) When substituting Formula (23) and (25) into Formula (26), we get the following formula.
C1(k)={VI(k)+WI(k)+jVQ(k)+jWQ(k)}{HI(k)+jHQ(k)}(28)
(49) Accordingly, we obtain the following.
C1I(k)={VI(k)+WI(k)}HI(k){VQ(k)+WQ(k)}HQ(k)(29)
C1Q(k)={VQ(k)+WQ(k)}HI(k)+{VI(k)+WI(k)}HQ(k)(30)
(50) Similarly, when Formula (24) and (25) are substituted into Formula (27), we get the following formula.
(51)
(52) Accordingly, we get the following.
C2I(k)={VI(k)WI(k)}HI(k){VQ(k)WQ(k)}HQ(k)(32)
C2Q(k)={VQ(k)WQ(k)}HI(k)+{VI(k)WI(k)}HQ(k)(33)
(53) As above, the digital filter circuit 10 performs FFT conversion of an input signal of the time domain, and generates a complex number signal of the frequency domain. Then, the digital filter circuit 10 performs filtering processing to each of the real part and the imaginary part of the complex number signal of the frequency domain independently using two kinds of coefficients generated from V(k), W(k) and H(k), and converts the result of the processing into a signal of the time domain by IFFT. Thus, in the digital filter circuit 10, each of FFT and IFFT is carried out only once to an input signal of the time domain.
(54) Two kinds of coefficients used for filtering processing enable to minimize the number of times of FFT and IFFT. The physical meaning of V(k), W(k) and H(k) and a principle by which filtering processing in the frequency domain that is equal to desired filtering processing in the time domain becomes possible by filtering processing using coefficients C1(k) and C2 (k) generated from V(k), W(k) and H(k) will be described below.
(55) In this exemplary embodiment, from a complex number signal of the frequency domain
X(k)=R(k)+jS(k)(34)
which has been generated by performing complex FFT to inputted complex number signal x(n) (=r(n)+js(n): Formula (1)) of the time domain, the complex conjugate generating circuit 15 generates X*(Nk).
(56) Here, R(k) is a complex number signal of the frequency domain made by converting real part signal r(n) of a real number in the time domain using real number FFT, and S(k) is a complex number signal of the frequency domain made by converting imaginary part signal s(n) of a real number in the time domain using real number FFT. At that time, the following equation holds from symmetry of complex conjugate.
X*(Nk)=R(k)jS(k)(35)
(57) Here, X*(Nk) is the complex conjugate of X(Nk).
(58) From Formulas (14), (34) and (26), we obtain the following.
(59)
(60) Also, from Formulas (17), (35) and (27), we get the following.
(61)
(62) When Formulas (36) and (37) are substituted into Formula (20), we get
(63)
(64) Formula (38) represents signal X(k) that is a signal before IFFT using filter coefficients V(k), W(k) and H(k), and R(k) and S(k) in signal X(k) after FFT. R(k) is a complex number signal of the frequency domain made by converting real part signal r(n) of a real number in the time domain by real number FFT. S(k) is a complex number signal of the frequency domain made by converting imaginary part signal s(n) of a real number in the time domain by real number FFT. In other words, Formula (38) represents the contents of filtering processing performed to signal X(k) after FFT. From Formula (38), it is found that the digital filter circuit 10 performs processing equal to the following three pieces of filtering processing to complex number signal X(k) (=R(k)+jS(k): Formula (34)) of the frequency domain which has been generated by converting complex number signal x(n)=r(n)+js(n) by real number FFT.
(65) 1) Filtering Processing for R(k) by Coefficient V(k)
(66) First, the digital filter circuit 10 performs filtering processing by filter coefficient V(k) to a complex number signal R(k) of the frequency domain which has been made by converting real part signal r(n) in the time domain by real number FFT. Accordingly, assigned to V(k) is a complex number filter coefficient of the frequency domain corresponding to a real number filter coefficient when performing filtering processing by real number operation in the time domain to real part signal r(n).
(67) 2) Filtering Processing by Coefficient W(k) to S(k)
(68) Similarly, the digital filter circuit 10 performs filtering processing by filter coefficient W(k) to a complex number signal S(k) of the frequency domain which has been made by converting imaginary part signal s(n) in the time domain by real number FFT. Accordingly, assigned to W (k) is a complex number filter coefficient of the frequency domain corresponding to a real number filter coefficient when performing filtering processing by real number operation in the time domain to imaginary part signal s(n).
(69) 3) Filtering Processing by Coefficient H(k) to Results of Filtering Processing 1) and 2)
(70) Next, the digital filter circuit 10 performs filtering processing by filter coefficient H(k) to complex number signal R(k)V(k)+jS(k)W(k) which includes R(k)V(k) and S(k)W(k) after the above-mentioned two filtering processing processed independently, respectively.
(71) R(k)V(k)+jS(k)W(k) is a complex number signal of the frequency domain corresponding to a signal of the time domain including two signals which are signals made by performing filtering processing to each of real part signal r(n) and imaginary part signal s(n) in the time domain independently. A signal made by performing filtering processing to each of real part signal r(n) and imaginary part signal s(n) independently corresponds to r(n), s(n) in
(72) Accordingly, in order to perform to signal R(k)V(k)+jS(k)W(k) of the frequency domain processing corresponding to filtering processing performed to a complex number signal in the time domain by complex number operation, the following coefficient should be used. That is, a complex number filter coefficient in the frequency domain that corresponds to a complex number filter coefficient when performing filtering processing by complex number operation in the time domain to complex number signal x(n) should be assigned to H(k).
(73) As described above, three kinds of coefficient are set from outside in this exemplary embodiment. That is, there are set: filter coefficient V(k) and W(k) of the frequency domain corresponding to filter coefficients in the time domain for each of the real part and the imaginary part of complex number signal x(n); and coefficient H(k) of the frequency domain corresponding to a filter coefficient in the time domain for x(n). By performing filtering processing using two coefficients obtained from the above three coefficients, FFT before the filtering processing and IFFT after the filtering processing can be made to be only once, respectively.
(74) By the way, FFT and IFFT in the digital filter circuit 10 are usual conversions respectively, and no processing unique to the present invention is performed. Therefore, FFT and IFFT may be processed by a circuit outside the digital filter circuit 10. That is, a digital filter circuit may input a signal from an external Fourier conversion circuit, and perform only filtering processing, and output a processing result to an external inverse Fourier transform circuit. Accordingly, a block diagram of the digital filter circuit 110 having only an indispensable structure of a filter circuit of this exemplary embodiment will be as shown in
(75) When processing of FFT and IFFT is performed outside, circuits needed for performing FFT and IFFT are only one respectively, and a plurality of circuits, for such as a real part and an imaginary part, do not need to be used.
Effect of the First Exemplary Embodiment
(76) As described above, according to this exemplary embodiment, filtering processing using two kinds of filter coefficient of frequency domain corresponding to filter coefficients of the time domain for each of the real part and the imaginary part of a complex number signal and a coefficient of the frequency domain corresponding to a filter coefficient of the time domain for a complex signal is performed. That is, filtering processing in the frequency domain corresponding to: independent filtering processing by real number operation for each of the real part and the imaginary part of a complex number signal in the time domain; and filtering processing by complex number operation for a complex number signal in the time domain is performed. Accordingly, desired filtering processing can be realized using only one FFT circuit which performs FFT before the filtering processing and one IFFT circuit which performs IFFT after the filtering processing. As a result, this exemplary embodiment has an effect that reduction in a circuit size and power consumption for performing filtering processing can be achieved.
Second Exemplary Embodiment
(77) In the first exemplary embodiment, it is assumed that all of each piece of processing of FFT, IFFT, generation and combining of a conjugate complex number, calculation of a filter coefficient and filtering processing are processed by components such as individual circuits. Each piece of processing of the present invention may be carried out, not by the form like the first exemplary embodiment, but by software that uses a computer provided in predetermined equipment such as a DSP (Digital Signal Processor).
(78) In the second exemplary embodiment, an example when performing filtering processing by a computer program is described. A computer program is read by a DSP (not shown) and executed. Meanwhile, in this exemplary embodiment, a structure of an exemplary embodiment is not shown in particular because hardware besides a computer which performs program processing is not used.
(79)
(80) In the processing of
(81) Next, the DSP performs Fourier transform to input signal X(n) (Step S1), and generates X(k) and X(Nk).
(82) Furthermore, the DSP obtains conjugate complex number X*(Nk) of X(Nk) (Step S2).
(83) Then, the DSP performs filtering processing to X(k) using C1(k), and generates X(k) (Step S3). The DSP performs filtering processing to X*(Nk) using C2(k), and generates X*(Nk) (Step S4). Order of processing of Step S3 and Step S4 may be reversed to the above description.
(84) Next, the DSP combines X(k) and X*(Nk), and obtains X(k) (Step S5).
(85) Finally, the DSP performs inverse Fourier transform to X(k), and obtains x(n) (Step S6).
(86) As above, the contents of filtering processing of the second exemplary embodiment are the same as those of the first exemplary embodiment. Accordingly, there is the same effect as the first exemplary embodiment in the filtering processing of the second exemplary embodiment.
(87) Meanwhile, calculation of filter coefficients C1(k) and C2(k) may be performed by a different program in advance. In that case, a flow chart showing operations will be like
(88) The above-mentioned filtering processing program may be stored in a non-temporary medium such as: a semiconductor memory device, such as ROM (Read Only Memory), RAM (Random Access Memory) and a flash memory; an optical disk; a magnetic disk; and a magneto-laser disk.
(89) The first exemplary embodiment and the second exemplary embodiment may be combined. That is, part of processing may be processed by hardware, and the other processing may be processed by software. For example, FFT and IFFT may be processed using the FFT circuit 13 and the IFFT circuit 14, respectively, and the other processing be carried out by software. An assignment of processing by hardware and processing by software can be determined freely.
(90) Although the present invention has been described with reference to an exemplary embodiment above, the present invention is not limited to the above-mentioned exemplary embodiments. Various modifications which a person skilled in the art can understand can be made in the composition and details of the present invention within the scope of the present invention.
(91) This application claims priority based on Japanese application Japanese Patent Application No. 2012-034002, filed on Feb. 20, 2012, the disclosure of which is incorporated herein in its entirety.
REFERENCE SIGNS LIST
(92) 10 Digital filter circuit 13 FFT circuit 14 IFFT circuit 15 Complex conjugate generating circuit 16 Complex conjugate combining circuit 21 Filter circuit 22 Filter circuit 31-36 Complex number signal 41 Filter coefficient generating circuit 45 and 46 Complex number signal 100 Digital filter circuit 101-103 FIR filter 111-113 Frequency domain filter circuit