FILTER DEVICE
20220239283 · 2022-07-28
Assignee
Inventors
- Yasutaka Yamashita (Tokyo, JP)
- Shigenori TANI (Tokyo, JP)
- Kazuma KANEKO (Tokyo, JP)
- Shigeru Uchida (Tokyo, JP)
Cpc classification
H03H17/0219
ELECTRICITY
H03H17/023
ELECTRICITY
International classification
Abstract
A filter device includes: delay units serially connected to delay an input signal and output a delayed signal; multiplication units multiplying the delayed signal by a filter coefficient based on a predetermined value and a multiplying factor adjustment value; a coefficient adjustment unit that, when a multiplication result obtained by multiplying the predetermined value by the multiplying factor adjustment value exceeds a maximum value of a filter-coefficient representation range, divides the multiplication result exceeding the maximum value by the maximum value, and outputs a quotient of division as a coefficient adjustment value; a signal conversion unit outputting a signal obtained by adding after-filter-coefficient-multiplication signals outputted by the multiplication units and an adjusted signal obtained by adjusting a corresponding delayed signal using the coefficient adjustment value; and a division unit generating an output signal by dividing the signal outputted by the signal conversion unit by the multiplying factor adjustment value.
Claims
1. A filter device comprising: a plurality of delayers connected in series to delay an input signal in response to reception of the input signal and to output a delayed signal; a plurality of multipliers to multiply the delayed signal by a filter coefficient generated based on a predetermined value and a multiplying factor adjustment value; a coefficient adjuster to, when a multiplication result obtained by multiplying the predetermined value by the multiplying factor adjustment value exceeds a maximum value of a representation range of the filter coefficient, divide the multiplication result exceeding the maximum value by the maximum value, and output a quotient of the division as a coefficient adjustment value; a signal converter to output a signal obtained by adding after-filter-coefficient-multiplication signals outputted by the plurality of multipliers and an adjusted signal obtained by adjusting a corresponding delayed signal using the coefficient adjustment value; and a divider to generate an output signal by dividing the signal outputted by the signal converter by the multiplying factor adjustment value.
2. The filter device according to claim 1, wherein a remainder obtained by dividing the multiplication result by the maximum value is used as the filter coefficient.
3. The filter device according to claim 1, wherein the signal converter obtains the adjusted signal by multiplying the corresponding delayed signal by the coefficient adjustment value.
4. The filter device according to claim 1, wherein the coefficient adjuster outputs the same number of the delayed signals corresponding to the coefficient adjustment value as the number of the coefficient adjustment values, and the signal converter obtains the adjusted signal by adding the delayed signals corresponding to the coefficient adjustment value outputted by the coefficient adjuster.
5. The filter device according to claim 1, wherein the multiplying factor adjustment value is set to a power of two, and division processing performed by the divider is implemented by bit shift.
6. The filter device according to claim 1, comprising a representation converter to convert an input signal into a stochastic-representation signal and input the stochastic-representation signal to a leading delayer of the plurality of delayers, wherein the filter coefficient is a stochastic-representation filter coefficient, and the coefficient adjuster and the signal converter perform computation processing on the stochastic-representation signal.
7. The filter device according to claim 6, comprising a coefficient converter to convert the filter coefficient into the stochastic-representation filter coefficient.
8. The filter device according to claim 6, wherein the representation converter converts an input signal into a stochastic-representation signal using an ultra-uniform distribution sequence.
9. The filter device according to claim 6, comprising a coefficient converter to convert the filter coefficient into the stochastic-representation filter coefficient using an ultra-uniform distribution sequence.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0011]
[0012]
[0013]
[0014]
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0015] Hereinafter, a filter device according to embodiments of the present disclosure will be described in detail with reference to the drawings. It is noted that the present disclosure is not necessarily limited by these embodiments.
First Embodiment
[0016]
[0017] As illustrated in
[0018] The delay units 1-1 to 1-N are connected in series, and the signal x(n) is inputted to the delay unit 1-1. The delayed signals outputted by the delay units 1-1 to 1-(N−1) are respectively input to the delay units 1-2 to 1-N in their subsequent stages, and are also inputted to the multiplication units 2-1 to 2-(N−1), respectively. The delayed signal outputted by the delay unit 1-N is inputted to the multiplication unit 2-N. The multiplication unit 2-0 receives the signal x(n). The multiplication units 2-0 to 2-N receive their corresponding filter coefficients in addition to the above signals.
[0019] Here, each filter coefficient by which the input signal x(n) or a delayed signal is multiplied is a value generated based on a pre-designed value (hereinafter referred to as a design value) h.sub.0, h.sub.1, . . . , h.sub.N and a multiplying factor adjustment value A. More specifically, each filter coefficient is a value obtained by multiplying a predetermined design value by the multiplying factor adjustment value, or a value calculated based on a value obtained by multiplying a design value by the multiplying factor adjustment value. That is, the value of each filter coefficient is Ah.sub.0, Ah.sub.1, . . . , Ah.sub.N or a value calculated based thereon. In the present embodiment, when a first value obtained by multiplying a design value by the multiplying factor adjustment value is less than or equal to a maximum value C.sub.max of the representation range of the filter coefficient, the first value is used as the filter coefficient. When the first value exceeds the maximum value C.sub.max, a second value calculated based on the first value is used as the filter coefficient. Specifically, when the value of the m-th coefficient exceeds the maximum value C.sub.max of the representation range of the filter coefficient through the multiplication of the design value by the multiplying factor adjustment value A, {Ah.sub.m}=Ah.sub.m % C.sub.max is inputted to the multiplication unit or multiplier 2-m as a filter coefficient by which the m-th delayed signal is multiplied. Here, Ah.sub.m % C.sub.max is the remainder of Ah.sub.m÷C.sub.max. That is, when the first value Ah.sub.m exceeds the maximum value C.sub.max, the first value Ah.sub.m is divided by the maximum value C.sub.max to obtain a remainder that is the second value, and the obtained remainder is used as a filter coefficient. Note that when the first value Ah.sub.m is less than or equal to the maximum value C.sub.max, the remainder of Ah.sub.m÷C.sub.max is equal to the first value Ah.sub.m. Therefore, it can be said that every filter coefficient is the remainder obtained by multiplying a design value by the multiplying factor adjustment value and dividing a resultant value of the multiplication by the maximum value C.sub.max of the representation range of the filter coefficient.
[0020] The coefficient adjustment unit 3 outputs, to the signal conversion unit 4, the m-th delayed signal inputted from the delay unit 1-m and the coefficient adjustment value [Ah.sub.m]=Ah.sub.m/C.sub.max. Note that the coefficient adjustment value [Ah.sub.m] is an integer. That is, the coefficient adjustment value [Ah.sub.m] is the quotient of Ah.sub.m÷C.sub.max.
[0021] The signal conversion unit 4 will be described.
[0022] The signal conversion unit 4 includes addition units or adder 41-1 to 41-(N+1) that use the outputs from the multiplication units 2-0 to 2-N as inputs thereof and add them while increasing the bit length. The addition unit or adder 41-k (k=2, 3, 4, . . . , N+1) adds the signal outputted by the addition unit or adder 41-(k−1) and the signal outputted by the multiplication unit or multiplier 2-k. In addition, the signal conversion unit 4 includes a multiplication unit or multiplier 42 that generates an adjusted signal by multiplying the m-th delayed signal x(n) and the coefficient adjustment value [Ah.sub.m] outputted from the coefficient adjustment unit 3 with the bit length being increased, and an addition unit or adder 43 that adds the output of the addition unit 41-(N+1) and the output of the multiplication unit 42. The number of multiplication units 42 and the number of addition units 43 are each not limited to one, and it is contemplated that that number may be greater than or equal to the number of filter coefficients exceeding the representation range through the multiplication of the multiplying factor adjustment value A. In this way, the signal conversion unit 4 obtains an output represented by the following expression (3).
[Formula 3]
Ah.sub.0x(n)+Ah.sub.1x(n−1)+ . . . +{Ah.sub.m}x(n−m)+ . . . +Ah.sub.Nx(n−N)+[Ah.sub.m]x(n−m) (3)
[0023] Alternatively, another configuration may be used in which the coefficient adjustment unit 3 makes the same number of copies of the m-th delayed output as the coefficient adjustment value [Ah.sub.m] and outputs the copies to the signal conversion unit 4, thereby to perform only addition without the need for multiplication in the signal conversion unit 4.
[0024] The division unit 5 divides the output of the signal conversion unit 4 represented by the expression (3) by the multiplicand, namely the above-mentioned multiplying factor adjustment value A, and performs rounding such that the result has substantially the same bit length as x(n), thereby generating the output signal y(n) of the filter device 100 represented by the following equation (4).
[0025] The division unit 5 can also be implemented by bit shift by setting the multiplying factor adjustment value A by which the filter coefficients are multiplied to a power of two.
[0026] By the above configuration, it is expected that the computation error associated with addition in the filter device 100 is minimized. At this time, only in terms of the computation error associated with multiplication, the output signal y(n) of the filter device 100 is represented by the following equation (5). In the equation (5), em.sub.k denotes the computation error associated with multiplication.
[0027] As shown by the second term of the equation (5), division can be performed using the equal multiplying factor adjustment value A with respect to the overall computation error, and thus the computation error can be reduced. In addition, because the values of the filter coefficients multiplied by the multiplying factor adjustment value A are allowed to exceed the maximum value of the representation range, it is possible to improve the filter characteristics while keeping the quantization bit rate low.
[0028] As described above, the filter device 100 according to the first embodiment includes two or more delay units 1-1 to 1-N that delay the input signal, the multiplication units 2-0 to 2-N that multiply the input signal x(n) and each of the delayed signals outputted from the delay units 1-1 to 1-N by the filter coefficients obtained by multiplying a design value by the multiplying factor adjustment value A, the coefficient adjustment unit 3 that generates a coefficient adjustment value based on the multiplying factor adjustment value A and the maximum value C.sub.max of the representation range when the filter coefficient exceeds the maximum value C.sub.max of the representation range, and outputs the generated coefficient adjustment value and the corresponding delayed signal, the signal conversion unit 4 that performs representation conversion by adding signals obtained by the filter coefficient multiplication outputted from the multiplication units 2-0 to 2-N and an adjusted signal obtained by multiplying the coefficient adjustment value outputted from the coefficient adjustment unit 3 and the delayed signal corresponding to this coefficient adjustment value, and the division unit 5 that divides the signal obtained by the representation conversion outputted from the signal conversion unit 4 by the multiplying factor adjustment value A. According to the filter device 100, it is possible to reduce the deterioration in filter characteristics possibly caused by the computation error.
Second Embodiment
[0029] Next, the filter device according to the second embodiment, specifically, the filter device implemented using stochastic computing will be described.
[0030] Stochastic computing is disclosed, for example, in the literature “Warren J. Gross and Vincent C. Gaudet Editors, ‘Stochastic Computing: Techniques and Applications’”.
[0031] Stochastic computing is characterized by its effectiveness in reducing the circuit scale of product-sum operation, and the filter device can be downsized by being configured using stochastic computing. In other hand, in stochastic computing, a numerical value is expressed by the existence probability of zero and one in a bitstream generated using a random number sequence, so that the correlation in the random number sequence between numerical values inputted to the computing circuit becomes a cause of the computation error. Reducing this computation error is the problem to be considered when stochastic computing is used.
[0032]
[0033] The representation conversion unit 6 will be described.
[0034] The representation conversion unit 6 includes a random number generation unit or generator 11 that generates random numbers, and a comparator 12 that compares the input value to the representation conversion unit 6, namely the input signal x(n) to the filter device 100a, with the random number value inputted from the random number generation unit 11. The comparator 12 has a terminal Z to which the random number value is inputted, and a terminal W to which the signal x(n) is inputted.
[0035] The comparator 12 outputs one when the binary-representation input value is larger than the random number value inputted from the random number generation unit 11, but outputs zero when the input value is less than or equal to the random number value. With such a configuration, for example, if the bit length (hereinafter referred to as SN length) used for stochastic representation is 10 bits, the input value is 0.3, and the random number value is uniform random numbers in a range between 0 and 1, then the resultant stochastic-representation value with the highest expected value corresponds to a number sequence in which 3 bits out of 10 bits have 1 and the remaining 7 bits have 0. The representation conversion unit 6 operates in this manner. The representation conversion unit 6 may be configured to generate stochastic-representation values corresponding to binary-representation values in advance, hold them in a memory as a table, and read the value corresponding to the input value directly from the memory.
[0036] The after-conversion input signal in stochastic representation and the delayed signals in stochastic representation obtained by delaying the after-conversion input signal in stochastic representation in the delay units 1-1 to 1-N are multiplied by the corresponding filter coefficients in the multiplication units 7-0 to 7-N. The filter coefficients to be used in this process also need to be converted into stochastic representation. The filter coefficients Ah.sub.0, Ah.sub.1, . . . , {Ah.sub.0m}, . . . , Ah.sub.N-1, and Ah.sub.N illustrated in
[0037] In
[0038] The coefficient adjustment unit 8 outputs, to the signal conversion unit 9, the m-th delayed signal inputted from the delay unit 1-m and the coefficient adjustment value [Ah.sub.m]=Ah.sub.m/C.sub.max, in substantially the same manner as the coefficient adjustment unit 3 of the filter device 100 according to the first embodiment.
[0039] The signal conversion unit 9 performs parallel addition using the outputs from the multiplication units 7-0 to 7-N and the outputs from the coefficient adjustment unit 8 as inputs. In this example, the parallel addition divides the number of “1” included in all the input stochastic-representation values by the SN length, thereby to obtain the output value represented in binary notation. For example, if the SN length is 10 and the input stochastic-representation values are three values, i.e., “0000100100” (0.2), “1010111110” (0.7), and “0010101111” (0.6), then 15 that is the number of “is” is divided by the SN length of 10, and so 1.5 is obtained as the output value. By performing parallel addition through the above operation, the output represented in binary notation is obtained.
[0040] The division unit 10 divides the output of the signal conversion unit 9 by the multiplicand, namely the above-mentioned multiplying factor adjustment value A, and performs rounding such that the result has the same bit length as x(n), thereby to generate the output signal y(n) of the filter device 100 represented by the following equation (6).
[0041] The division unit 10 can also be realized by bit shift in which the multiplying factor adjustment value A by which filter coefficients are multiplied is set to a power of two, in substantially the same manner as the division unit 5 of the filter device 100 according to the first embodiment.
[0042] The above configuration makes it possible to reduce a computation error because a computation error associated with parallel addition is only caused in the division of the number of “1s” by the SN length. In particular, because it is necessary to double the SN length in order to double the resolution in stochastic representation, it is possible to reduce the circuit scale by reducing the SN length, and also to reduce the deterioration in filter characteristics due to computation error as in the first embodiment. Further, because the multiplication units 7-1 to 7-N can be implemented by simple circuitry, the overall circuit scale can be reduced.
Third Embodiment
[0043] In the filter device of a configuration according to the second embodiment, errors in stochastic representation are classified as conversion errors derived from conversion into stochastic representation and correlation errors derived from the correlation between random number sequences used for converting each input into stochastic representation during computation. The present embodiment describes a configuration for reducing a conversion error and a correlation error.
[0044] The conversion error occurs when a random number sequence is biased. For example, suppose that the representation conversion unit 6 of
[0045] In addition, a computation error is derived from the correlation between random number sequences used for converting each of inputs to the computation units into stochastic representation. In the configuration described in the second embodiment, the computation error associated with parallel addition is small. Therefore, a method for reducing a computation error in the multiplication units will be described below.
[0046] In the filter device 100a with the configuration of the second embodiment, as the correlation between random number sequences for converting, into stochastic representation, delayed signals and filter coefficients which are inputs to the multiplication units 7-0 to 7-N gets larger, the error is larger. Therefore, in order to reduce the computation error, random number sequences used for converting each delayed signal and each filter coefficient into stochastic representation need to have a small correlation.
[0047] An effective way to achieve this objective is, for example, to use ultra-uniform distribution sequences such as Sobol sequences as the random number sequences generated by the random number generation unit 11 of the representation conversion unit 6 and the random number sequences for converting filter coefficients into stochastic representation. Sobol sequences may be realized by sequentially reading out them from a conversion table, or may be realized in a method disclosed in the literature “‘Notes on generating Sobol sequences’, Stephen Joe and Frances Y. Kuo, August 2008”, for example.
[0048] In addition, in a case where an ultra-uniform distribution sequence can be selected from among multiple sequences, it is effective to select two sequences that make the multiplication error smaller, and use one of the two for the representation conversion of a delayed signal and the other for the representation conversion of a filter coefficient.
[0049] The above configuration makes it possible to reduce the conversion error associated with conversion into stochastic representation, and to further reduce the computation error associated with multiplication.
[0050] The filter device according to the present disclosure has an advantageous effect that it can reduce the deterioration in filter characteristics due to a computation error.
[0051] The configurations described in the above-mentioned embodiments show examples of the contents of the present disclosure, and can each be combined with other publicly known techniques and partially omitted and/or modified without departing from the scope of the present disclosure.