The present invention relates to a designing method of digital filters as well as apparatuses and a program for designing digital filters as well as digital filters, and in particular relates to an FIR filter of a type having a tapped delay line composed of multiple delay units and increasing several times in output signals of respective taps and thereafter adding the result of those multiplications to output them as well as a method of designing it.
Various kinds of electronical devices provided in a variety of technical fields normally implement digital signal processing of some sort in their inside. The most important basic operations of digital signal processing include filtering processing of taking only signals within a required certain frequency band out of input signals in which respective kinds of signals and noises are mixed. Therefore, digital filters are frequently used in electronics devices of implementing digital signal processing.
IIR (Infinite Impulse Response) filters and FIR (Finite Impulse Response) filters are mostly used as digital filters. Among them, the FIR filters are advantageous as follows. Firstly the circuit is always stable since the pole of transfer function of an FIR filter is located only in the origin of the z plane. Secondly, if the filter coefficients are of a symmetrical type, it is possible to realize a completely accurate linear-phase characteristic.
In this FIR filter, the impulse response expressed in finite time length will straight be the filter coefficients. Accordingly, designing an FIR filter means to determine the filter coefficients so as to obtain a desired frequency characteristic. Conventionally, at the time of designing an FIR filter, the filter coefficients are calculated based on the target frequency characteristic and window multiplication is performed thereon to derive finite units of coefficient groups. And designing used to be implemented in a method of transforming the derived coefficient groups with FFT (fast Fourier transform) into a frequency characteristic and confirming whether or not this satisfies the target characteristic.
At the time of calculating filter coefficients from the target frequency, an operation of convolution and the like, for example, in use of a window function and Chebyshev approximation formula based on proportion of sampling frequency to cutoff frequency used to be performed. The number of coefficients derived thereby will become significantly large. Using all of those coefficients, the number of taps and multipliers for a filter circuit will become significantly large, which is not realistic. Therefore, the number of filter coefficients needed to be reduced with window multiplication to such a practically endurable level.
However, the frequency characteristic of the FIR filter derived by a conventional designing method depends on the window function and the approximation formula. Therefore unless they are well set, a target good frequency characteristic cannot be derived. However, appropriate setting of window functions and approximation formulas is generally difficult. In addition, window multiplication in order to reduce the number of filter coefficients will cause a truncation error on the frequency characteristic. Therefore, there used to be such a problem that realization of a desired frequency characteristic with a conventional filter designing method is very difficult.
In addition, in order to design an FIR filter of realizing a desired frequency characteristic as accurately as possible, the number of filter coefficients that can be reduced by window multiplication is limited. Therefore, the number of taps of the designed FIR filter will become very large and further more the filter coefficient value thereof will become very complicated and random value. Therefore, there used to be a problem that a large scaled circuit configuration (adder and multiplier) will become necessary in order to realize the number of taps as well as filter coefficient values thereof.
In addition, in order to derive a desired frequency characteristic with a conventional filter designing method, a trial and error practice while causing tentatively derived filter coefficients to undergo FFT to confirm its frequency characteristic will be required. Accordingly, conventionally a skilled engineer was required to implement designing by spending time and work and therefore there was such a problem that FIR filters with a desired characteristic cannot be designed easily.
Here, there known is a method of adjusting a filter band by inserting one or more zero values between respective taps (between respective filter coefficients) on a tapped delay line (see, for example, National Publication of International Patent Application No. 6-503450). In addition, there known is a method of realizing steep frequency characteristic by connecting a plurality of FIR filters in cascade connection (see, for example, Japanese Patent Laid-Open No. H5-243908). However, use of any of these methods can merely narrow the passband of a filter but it used to be unable to realize arbitrarily shaped frequency characteristic with a fewer number of taps.
The present invention was implemented in order to solve such problem and an object thereof is to provide an FIR digital filter, which can realize a desired frequency characteristic with a small circuit size and with a high accuracy, and a designing method thereof.
In addition, an object of the present invention is to make an FIR digital filter having a desired frequency characteristic designable simply.
In order to solve the above described issues, in the present invention, for example, one or more FIR-type basic filters having a symmetric sequence of numbers having a predetermined characteristic as filter coefficients are arbitralily combined and connected arbitrarily in cascade connection. The filter coefficients are calculated and for the data of the calculated filter coefficients, the lower bits are cut off for rounding so as to reduce the bit count of filter coefficients.
Another mode of the present invention is designed to multiply the calculated filter coefficients by a predetermined amount for rounding the number after the decimal point to an integer.
According to the present invention configured as described above, it is possible to significantly reduce unnecessary filter coefficients by rounding the lower bits of the filter coefficients. Thereby, that is, only significantly small number of taps will be required for the digital filter to be designed and types of filter coefficients for the respective tap outputs will be required only to a significantly small extent. Accordingly, it is possible to significantly reduce the amount of circuit elements (in particular, multipliers) to reduce the circuit size.
In addition, since it is possible to significantly reduce the number of unnecessary filter coefficients by rounding, it is possible to make the conventional window multiplication unnecessary in order to reduce the number of filter coefficients. In the present invention, even if filter coefficients with a value smaller than a predetermined threshold value are cut off by rounding for reducing, a bit number, major filter coefficients of determining a frequency characteristic almost remains so as to hardly impart a bad effect to the frequency characteristic. In addition, since it is possible to design a digital filter without performing the window multiplication, no truncation error will occur to the frequency characteristic but it will become possible to improve the cut off characteristic to an extremely large extent so as to make available a filter characteristic with a phase characteristic being linear and excellent. That is, it is possible to realize a desired frequency characteristic of a digital filter with a high accuracy.
Moreover, since it is possible to design a digital filter having a desired filter characteristic only by such a simple operation that any basic filters are combined and connected in cascade connection and the like, even not skilled engineers can design a filter extremely easily.
In addition, according to another mode of the present invention, the number of the filter coefficients can be transformed into an integer and be simplified. Thereby, configuring a coefficient multiplier by a bit shift circuit instead of multiplier, it is possible to simplify the digital filter to be implemented further.
First embodiment of the present invention will be described below based on the drawings. In the present embodiment, several types of basic filters having a particular impulse response are defined to realize an FIR filter having a desired frequency characteristic in a form of connecting them in any cascade connection. A basic filter is generally categorized into three kinds of basic lowpass filters, basic highpass filters and basic bandpass filters (inclusive of a comb filter). These basic filters will be described below.
<Basic Lowpass Filter Lman (m and n are Variable with n Being a Natural Number)>
Filter coefficients of a basic lowpass filter Lman are derived by the moving average operation of bringing original data prior to operation and prior data prior to a predetermined amount of delay thereof into sequential addition with a sequence of numbers “−1, m, −1” as a starting point.
For example, the first numeric value “−1” from the top of the basic lowpass filter L4a1 is derived by bringing an original data “−1” and the prior data “0” into addition and the second numeric value “3” is derived by bringing the original data “4” and the prior data “−1” into addition. In addition, the third numeric value “3” is derived by bringing an original data “−1” and the prior data “4” into addition and the fourth numeric value “−1” is derived by bringing an original data “0” and the prior data “−1” into addition.
In any filter coefficient of the basic lowpass filter L4an shown in
The sequence of numbers of the above described (−1, m, −1) is generated with the very first original sequence of numbers “−1, N” as a base. A basic unit filter with this sequence of numbers “−1, N” as filter coefficients has one to two units of taps (one unit in case of N=0 and two units in the other cases). Here, the value of N does not necessarily have to be an integer.
The basic unit filter with this sequence of numbers “−1, N” as filter coefficients is non-symmetrical, and therefore, in order to make it symmetrical, it is necessary to connect this in cascade connection in even number of stages for use. For example, in case of connecting two stages in cascade connection, an operation of convolution of the sequence of numbers “−1, N” will impart filter coefficients “−N, N2+1, −N”. Here, with (N2+1)/N=m, m being an integer, N=(m+(m2−4)1/2)/2 is derived.
As an example in
In case of using this sequence of numbers as filter coefficients actually, dividing each value of the sequence of numbers by 2N(=2*(2+√3)=7.464), the gain is standardized (normalized) to “1” so that amplitude in the case where the sequence of numbers of filter coefficients has undergone FFT transformation becomes “1”. That is, the sequence of numbers of filter coefficients for actual use will become “½, 2, −½”. This sequence of numbers for actual use is equivalent to the original sequence of numbers “−1, 4, −1” multiplied by z (z=1/(m−2)).
In case of using thus standardized sequence of numbers as filter coefficients, the filter coefficients of a basic lowpass filter Lman has a characteristic that any grand total in the sequence of numbers thereof will become “1” and the total value of numbers skipped by one in a sequence of numbers will become equal each other with the same positive or negative sign.
As apparent from this
In any filter coefficients of the basic lowpass filter Lan shown in
As apparent from this
<Basic Highpass Filter Hmsn (m and n are Variable with n Being a Natural Number)>
Filter coefficients of a basic highpass filter Hmsn are derived by the moving average operation of sequentially subtracting, from original data prior to operation, prior data prior to a predetermined amount of delay thereof with a sequence of numbers “1, m, 1” as a starting point.
For example, the first numeric value “1” from the top of the basic highpass filter H4s1 is derived by subtracting, from an original data “1”, the prior data “0” and the second numeric value “3” is derived by subtracting, from the original data “4”, the prior data “1”. In addition, the third numeric value “−3” is derived by subtracting, from original data “1”, the prior data “4” and the fourth numeric value “−1” is derived by subtracting, from original data “0”, the prior data “1”.
In any filter coefficients of the basic highpass filter H4sn shown in
The sequence of numbers of the above described (1, m, 1) is generated with the very first original sequence of numbers “1, N” as a base. A basic unit filter with this sequence of numbers “1, N” as filter coefficients has one to two units of taps (one unit in case of N=0 and two units in the other cases). Here, the value of N does not necessarily have to be an integer.
The basic unit filter with this sequence of numbers “1, N” as filter coefficients is non-symmetrical, and therefore, in order to make it symmetrical, it is necessary to connect this in cascade connection in even number of stages for use. For example, in case of connecting two stages in cascade connection, an operation of convolution of the sequence of numbers “1, N” will impart filter coefficients “N, N2+1, N”. Here, with (N2+1)/N=m, m being an integer, N=(m+(m2−4)1/2)/2 is derived.
As an example in
In case of using this sequence of numbers as filter coefficients actually, dividing each value of the sequence of numbers by 2N(=2*(2+√3)=7.464), the gain is standardized to “1” so that amplitude in the case where the sequence of numbers of filter coefficients has undergone FFT transformation becomes “1”. That is, the sequence of numbers of filter coefficients for actual use will become “½, 2, ½”. This sequence of numbers “½, 2, ½” for actual use is also equivalent to the original sequence of numbers “1, 4, 1” multiplied by z (z=1/(m−2)).
In case of using thus standardized sequence of numbers as filter coefficients, the filter coefficients of a basic highpass filter Hmsn have a characteristic that any grand total in the sequence of numbers thereof will become “0” and the total value of numbers skipped by one in a sequence of numbers will become equal each other with the positive or negative opposite sign.
In any filter coefficients of the basic highpass filter Hsn shown in
<Basic Bandpass Filter Bmsn (m and n are Variable with n Being a Natural Number)>
Filter coefficients of a basic bandpass filter Bmsn are derived by the moving average operation of sequentially subtracting, from original data prior to operation, prior data twice prior to a predetermined amount of delay thereof with a sequence of numbers “1, 0, m, 0, 1” as a starting point.
For example, the first numeric value “1” from the top of the basic bandpass filter B4s1 is derived by subtracting, from an original data “1”, the prior data “0” and the third numeric value “3” is derived by subtracting, from the original data “4”, the prior data “1”. In addition, the fifth numeric value “−3” is derived by subtracting, from original data “1”, the prior data “4” and the seventh numeric value “−1” is derived by subtracting, from original data “0”, the prior data “1”.
Upon the basic bandpass filter B4sn shown in
The sequence of numbers of the above described (1, 0, m, 0, 1) is generated with the very first original sequence of numbers “1, 0, N” as a base. A basic unit filter with this sequence of numbers “1, 0, N” as filter coefficients has one to two units of taps (one unit in case of N=0 and two units in the other cases). Here, the value of N does not necessarily have to be an integer.
The basic unit filter with this sequence of numbers “1, 0, N” as filter coefficients is non-symmetrical, and therefore, in order to make it symmetrical, it is necessary to connect this in cascade connection in even number of stages for use. For example, in case of connecting two stages in cascade connection, an operation of convolution of the sequence of numbers “1, 0, N” will impart filter coefficients “N, 0, N2+1, 0, N”. Here, with (N2+1)/N=m, m being an integer, N=(m+(m2−4)1/2)/2 is derived.
As an example in
In case of using this sequence of numbers as filter coefficients actually, dividing each value of the sequence of numbers by 2N(=2*(2+√3)=7.464), the gain is standardized to “1” so that amplitude in the case where the sequence of numbers of filter coefficients has undergone FFT transformation becomes “1”. That is, the sequence of numbers of filter coefficients for actual use will become “½, 0, 2, 0, ½”. This sequence of numbers “½, 0, 2, 0, ½” for actual use is also equivalent to the original sequence of numbers “1, 0, 4, 0, 1” multiplied by z (z=1/(m−2)).
In case of using thus standardized sequence of numbers as filter coefficients, the filter coefficients of a basic bandpass filter Bmsn have a characteristic that any grand total in the sequence of numbers thereof will become “0” and the total value of numbers skipped by three in a sequence of numbers will become equal each other with the positive or negative opposite sign.
As apparent from this
Upon the basic bandpass filter Bsn shown in
Here, so far, examples of performing moving average operation with “1” as a starting point have been described with reference to
<Influence of Parameter Values m and n on Characteristics>
At first, influence subject to changes in the stage count n of a moving average operation will be described. For example, as shown in
On the other hand, with regard to the basic lowpass filter Lan, the basic highpass filter Hsn and the basic bandpass filter Bsn configured with the coefficient value of the basic unit filter being N=0, in any case with regard to the value of n, both ends of the top parts will get lower than the central value as shown in
Next, influence subject to changes in the value of m will be described.
This
This will be described in detail further with reference to
As described above, the optimum value of the parameter n for the parameter m gets larger as the value of m gets smaller. Here, with m=2, the filter characteristic will change significantly and a good frequency characteristic will become underivable. To put it the other way around, under the condition of m>2, without increasing the amount of delay to be inserted between the taps, a good filter characteristic with narrow bandwidth in a pass range can be derived. On the other hand, as the value of the parameter m gets larger, the optimum value of the parameter n gets smaller, that is, m=10 imparts n=1. That is, with m=10, one stage as the stage count of a moving average operation will do. According hereto, the parameter m is preferably used under the condition of 2<m≦10.
In addition, the frequency characteristic can be adjusted as in
Thus, the case where the function will derive a finite value other than “0” in a local range and the value thereof will become “0” in the other range is called “finite base”. Here, depiction is omitted but the basic highpass filter Hsn, the basic lowpass filter Lman as well as Lan and the basic bandpass filter Bmsn as well as Bsn will likewise derive an impulse response forming a finite base.
In the impulse response of such a finite base, only data within a local range having finite value other than “0” are meaningful. Data beside this range are not necessarily ignored in spite that they should be considered essentially nor have to be considered theoretically and therefore do not give rise to any truncation error. Accordingly, using a sequence of numbers shown in
<Adjustment of Zero Value Between Filter Coefficients>
Changing the zero value between respective sequences of numbers (equivalent to the amount of delay between respective taps) configuring filter coefficients of basic filters, it is possible to adjust the bandwidth in pass ranges of basic filters. That is, for the above described basic lowpass filter Lman as well as Lan, basic highpass filter Hmsn as well as Hsn and basic bandpass filter Bmsn as well as Bsn, the amount of delay between respective taps was one clock portion, and if this is (k+1) clock portion (k units of “0” are inserted between the respective filter coefficients), the frequency axis of a frequency-gain characteristic thereof (cycle in the frequency direction) will become 1/(k+1) so that the bandwidth of the pass range will get narrow.
The case where k units of “0” are inserted between the respective filter coefficients in the basic lowpass filter Lman, for example, will be indicated below as Lman (k). Here, in case of k=0, (0) will be omitted from indication.
<Cascade Connection of Homogeneous Basic Filters>
Connecting the homogeneous basic filters in cascade connection, coefficients of the respective basic filters undergo multiplication and addition each other so as to create new filter coefficients. In the case where the number of cascade connection of the basic lowpass filter Lman, for example, is M, this will be described below as (Lman)M.
Here, contents of an operation of filter coefficients in case of connecting the basic filters in cascade connection will be described.
Upon this operation of convolution, multiplication and addition are applied to the whole sequence of numbers of {H2−i, H2−(i−1), H2−(i−2), . . . , H2−1, H20, H21, . . . , H2i−2, H2i−1, H2i} on the filter coefficients of the other party always in a fixed fashion. On the other hand, as for filter coefficients of the other party, the operation of convolution is applied to (2i+1) units of sequence of numbers inclusive of 0 value in the assumption that a sequence of 0 is present before and after the sequence of numbers of {H1−i, H1−(i−1), H1−(i−2), . . . , H1−1, H10, H11, . . . , H1i−2, H1i−1, H1i}. At this time, when a p-th numeric value of the new filter coefficients is derived, multiplication and addition is applied to (2i+1) units of sequence of numbers prior thereto inclusive of the p-th numeric value of filter coefficients of the other party.
For example, at the time of deriving the first numeric value of the new filter coefficients, an operation of totaling the corresponding multiplied factors of the arrangement is applied to the whole sequence of numbers {H2−i, H2−(i−1), H2−(i−2), . . . , H2−1, H20, H21, . . . , H2i−2, H2i−1, H2i} (an arrangement enclosed by dotted lines indicated by the reference numeral 31) of filter coefficients of the other party and (2i+1) units of sequence of numbers {0, 0, . . . , 0, H1−i} (an arrangement enclosed by dotted lines indicated by the reference numeral 32) prior thereto inclusive of the first numeric value of filter coefficients of one party. That is, the operation in this case will result in (H1−i×H2−i).
In addition, at the time of deriving the second numeric value of the new filter coefficients, an operation of totaling the corresponding multiplied factors of the arrangement is applied to the whole sequence of numbers {H2−i, H2−(i−1), H2−(i−2), . . . , H2−1, H20, H21, . . . , H2i−2, H2i−1, H2i} (an arrangement enclosed by dotted lines indicated by the reference numeral 31) of filter coefficients of the other party and (2i+1) units of sequence of numbers {0, 0, . . . , 0, H1−i, H1−(i−1)} (an arrangement enclosed by dotted lines indicated by the reference numeral 33) prior thereto inclusive of the second numeric value of filter coefficients of one party. That is, the operation in this case will result in (H1−i×H2−i+H1−(i−1)×H2−(i−1)). (2×(2i+1)−1) units of sequence of numbers configuring new filter coefficients will be likewise derived below.
In case of only one unit of the basic lowpass filter L4a4, the clock of the position with amplitude to become 0.5 is 0.25. In contrast, when the number of M of the cascade connection becomes abundant, the pass bandwidth of a filter will get narrow. For example, in case of M=8, the clock at the position with the amplitude to become 0.5 will become 0.125.
As apparent from the above described
As apparent from the above described
<Cascade Connection of Heterogeneous Basic Filters>
Also in case of connecting heterogeneous basic filters in cascade connection, coefficients of the respective basic filters undergo multiplication and addition each other with an operation of convolution so as to create new filter coefficients. In this case, combining the heterogeneous basic filters arbitrarily, characteristics of the respective basic filters cancel each other to take out a desired frequency band. Thereby a lowpass filter, a highpass filter, a bandpass filter, a band elimination filter, a comb filter and the like with a desired characteristic can be designed easily.
An example of combining the above described basic lowpass filter L4a4 (k) and basic highpass filter H4s4 (k) to design a bandpass filter with a desired frequency band being pass band, for example, will be described.
When either the center frequency Fc of a bandpass filter or the sampling frequency Fs of a signal can be freely determined, optimization of conditions for taking out frequency can simplify configuration of the filter further. Now, suppose that the relation between the center frequency Fc of a bandpass filter and the sampling frequency Fs of a signal is
Fs=Fc*(4+2q) (q=0, 1, 2, . . . )
In this case, Fc=450 KHz imparts Fs=1.8 MHz, 2.7 MHz, 3.6 MHz, . . . In case of such a setting, a bandpass filter can be designed only by connecting a basic highpass filter H4s4(5+3 q) and a basic lowpass filter L4a4(3+2 q) in cascade connection. Both of these basic highpass filter H4s4 (5+3 q) and basic lowpass filter L4a4 (3+2 q) have a pass range with the center frequency Fc to become 450 KHz.
For example, in case of q=0 (Fs=4 Fc), a bandpass filter can be designed by connecting a basic highpass filter H4s4(5) and a basic lowpass filter L4a4 (3). In addition, in case of q=1 (Fs=6 Fc), a bandpass filter can be designed by connecting basic highpass filter H4s4(8) and a basic lowpass filter L4a4(5) in cascade connection.
Also in
The bandwidth of a bandpass filter can be adjusted by the stage count (the number of M) of a basic highpass filter (H4s4 (k))M or a basic lowpass filter (L4a4 (k)M in cascade connection. In the example shown in
Next, means for adjusting bandwidths of the pass ranges narrowly by connection heterogeneous basic filters in cascade connection will be described. As described with reference to
Accordingly, using this basic highpass filter H4s4 (14), it is possible to narrow the bandwidth efficiently without increasing the stage count of filters in cascade connection. In addition, since the basic highpass filter H4s4(14) is only increased in the number of “0” to be inserted between respective filter coefficients, the tap count actually taken out as coefficients will not increase at all nor the circuit size will get large. Here, an example of using the basic highpass filter H4s4(14) has been described, but it is possible to likewise use any basic filter having the pass range at the same center frequency Fc=450 KHz.
Next, means for adjusting the bandwidth of the pass range to get wider by connecting the homogeneous basic filters in cascade connection will be described.
And, with the central value (=0.5) of the gain as the axis, the frequency-gain characteristic of the basic filter YF2 shown with #2 is reversed (#3). This is derived by subtracting filter coefficients of the basic filter YF2 from the unit pulse of the standard gain value “1” (equivalent to filter coefficients with the central value being 1 and all of the other being 0) together with delay (1−YF2). Here, this will be called a reversed basic filter.
Moreover, two units of the reversed basic filter shown with #3 will be connected in cascade connection. Inclination of frequency-gain characteristic derived thereby gets further steep as shown in #4 so as to narrow the bandwidth further as well (the clock position of −6 dB moves to the high frequency side). Here, the unit count of the reversed basic filter connected in cascade connection is set to two units, which is the same as in the case of #2, but may be taken more than this to make the moving amount toward the high frequency side larger than the moving amount toward the low frequency side mentioned earlier.
Lastly, with the central value (=0.5) of the gain as the axis, the frequency-gain characteristic shown with #4 is reversed (#5). This is derived by subtracting filter coefficients of #4 from the unit pulse of the standard gain value “1” together with delay (1−(1−YF2)2). In comparing the frequency characteristic of the original data #1 with the frequency characteristic of the post-adjustment data #5, the inclination in the frequency characteristic of the post-adjustment data #5 gets steeper than that in the original data #1 and the bandwidth gets wider.
The formula of the post-adjustment data #5 is expanded to derive the following:
1−(1−YF2)2
=1−1+2YF2−YF4
=2YF2−YF4 (Formula 1)
This Formula 1 is a formula derived in the case where two units each of the basic filter of #1 and the reversed basic filter of #3 are respectively connected in cascade connection, but the stage count in cascade connection will not limited hereto. However, in order to widen the bandwidth, it is preferable to make the stage count of #3 in cascade connection more than the stage count of #1 in cascade connection. In this case, the above described Formula 1 can be generalized as in the following Formula 2.
a*YFM1−b*YFM2 (Formula 2)
Here, reference characters a and b denote coefficients (a>b), M1<M2 and reference character * denotes cascade connection.
Next, means for fine-tuning frequency of bandwidth will be described.
At that time, either the highpass filter HPF or a lowpass filter LPF or both of them undergo an operation of narrowing the pass range as shown in
<Rounding of Filter Coefficients>
The sequence of numbers derived by cascade connection of basic filters, adjustment of bandwidth and the like as described above will become filter coefficients for realizing a desired frequency characteristic. Filter coefficient values (prior to rounding) actually calculated with a 16-bit operation accuracy have been graphed in
As shown in
Accordingly, it is possible to significantly reduce unnecessary filter coefficients by rounding. For example, the lower bits of filter coefficients are cut off and thereby the bit count is decreased so that all the filter coefficients with values smaller than the maximum value expressed only lower bits thereof are rounded to “0” and can be cut off. Accordingly, in order to decrease the number of filter coefficients, window multiplication as in a conventional case is not necessarily required. Here, as described above, basic filters in cascade connection will derive an impulse response forming a finite base function. Therefore, the number of filter coefficients designed based on this basic filter is less from the very first compared with conventional cases and can also be used directly without performing rounding. However, in order to decrease the tap counts further, rounding for decreasing the bit counts is preferably performed.
This point is a characteristic point of the present embodiment significantly different from the conventional filter designing method. That is, in the conventional filter designing method, the degree of steepness does not get so large in distribution of the demanded respective filter coefficients and therefore, performing rounding with the values of the filter coefficients, the major filter coefficients for determining a frequency characteristic are much likely to be cut off. In addition, it is also difficult to derive a frequency characteristic with extremely deep out-of-band attenuation, decrease in the bit counts of filter coefficients will make it impossible to secure a required out-of-band attenuation. Accordingly, in the conventional art, it was impossible to perform rounding for decreasing the bit counts, and therefore there used to be no choice but decreasing the number of the filter coefficients by window multiplication. Therefore, truncation errors occur in the frequency characteristic so that it was extremely difficult to derive a desired frequency characteristic.
In contrast, in the present embodiment, since it is possible to design a filter without performing the window multiplication, no truncation error will occur to the frequency characteristic. Accordingly, it will become possible to improve the cut off characteristic to an extremely large extent so as to make available a filter characteristic with a phase characteristic being linear and excellent.
Performing such conversion-to-integer rounding operation, it will become possible to configure a digital filter to multiply, as shown in
As clearly apparent from
Here, as an example of rounding, truncating off the lower bits for data of filter coefficients to perform rounding y-bits data to x bits was described, but rounding will not be limited hereto. For example, after the values of respective filter coefficients are compared with predetermined threshold values, the filter coefficients smaller than the threshold value may be arranged to be cut off. In this case, since the left filter coefficients are as the original y bits, these filter coefficients are multiplied by 2y at the time of converting them to integers.
In addition, as another example of conversion-to-integer operation, the sequence of numbers of filter coefficients may be subjected to rounding of multiplying by N (N is a value beside power-of-two) on the fractional part (truncation off, truncation up or rounding off to the nearest integer and the like). In case of performing such conversion-to-integer N-fold rounding operation, it will become possible to configure a digital filter to multiply, as shown in
In addition, in case of multiplying the sequence of numbers by 2x (x is an integer), it is possible to execute bits-unit rounding on filter coefficients while it is possible to execute inter-bits rounding on filter coefficients in case of multiplying a sequence of numbers by N. Bits-unit rounding refers to processing to multiply filter coefficients by an integer multiple of ½x such as rounding all numeric values falling within the range of 2x to 2x+1 to 2x in case of multiplying a coefficient value by 2x to cut off the fractional part for example. In addition, inter-bits rounding refers to processing to multiply filter coefficients by an integer multiple of 1/N such as rounding all numeric values falling within the range of N to N+1 to N in case of multiplying a coefficient value derived by N (for example, 2x−1<N<2x) to cut off the fractional part for example. By performing rounding multiplied by N, it is possible to adjust a value of filter coefficients to undergo conversion-to-integer into any value beside power-of-two. This will make it possible to delicately adjust the filter coefficient count (tap count) for use in a digital filter.
Otherwise, as an example of an rounding operation accompanying conversion-to-integer processing, all data values of y-bits filter coefficients smaller than ½x may be regarded as zero while, as for the data values equal to or larger than ½x, the data values are subjected to multiplying 2x−X-fold (x+X<y) and rounding the decimal fractions (cut off, round up or rounding off to the nearest integer and the like). In case of performing such a rounding operation, it will become possible to configure a digital filter to multiply, as shown in
In addition, it is possible to significantly reduce the filter coefficient count (tap count) by regarding all data values smaller than ½x as zero for cut-off and, at the same time, it is possible to derive filter coefficients having a good accuracy of (x+X) bits being abundant in bits count compared with x bits. Therefore a good frequency characteristic can be derived as well.
<Example of Mounting Filter Designing Apparatus>
An apparatus for realizing a method of designing a digital filter according to the above described present embodiment can be realized with any of hardware configuration, DSP and software. For example, the filter designing apparatus of the present embodiment, which is occasionally realized with software, is actually configured by a CPU or an MPU, a RAM, a ROM or the like of a computer and can be realized by a program stored in a RAM, a ROM, a hard disc or the like to operate.
For example, filter coefficients on the respective kinds of basic filters Lman, Lan, Hmsn, Hsn, Bmsn and Bsn are stored as data in advance in a storage device such as a RAM, ROM, a hard disc or the like. And a user designates any combination and connection order on the basic filters Lman, Lan, Hmsn, Hsn, Bmsn and Bsn, a zero value count k inserted between the respective filter coefficients, the homogeneous cascade connection count M for the basic filters and the like. Then the CPU can be arranged to derive filter coefficients corresponding to the designated contents by the operation described above with data of filter coefficients stored in the above described storage device. In that case, the storage device corresponds to the basic filter coefficient storing means of the present invention and the CPU corresponds to operating means of the present invention.
A user interface for a user to designate the combination and the connection order on the basic filters Lman, Lan, Hmsn, Hsn, Bmsn and Bsn, a zero value insertion count k and a cascade connection count M and the like can be configured arbitrarily. For example, types of basic filters (any of Lman, Lan, Hmsn, Hsn, Bmsn and Bsn) are made selectable by operation of a keyboard and a mouse from a listing table displayed on a screen and the values of the parameters m, n, k and M are made feasible to be inputted by operation of a keyboard and a mouse. And, the input order at the time of implementing selection of types and inputting of parameters sequentially one by one is inputted as a connection order of basic filters. The CPU obtains thus inputted information to derive filter coefficients corresponding to the contents designated by that input information with an operation described above.
In addition, respective types of basic filters Lman, Lan, Hmsn, Hsn, Bmsn and Bsn are iconized so as to be arranged to be displayed on a display screen (filter coefficients corresponding to the respective icons are stored as data in a storage device), and a user arbitrarily combines and disposes these icons on a display screen by operation of a keyboard and a mouse. In addition, the other necessary parameters are inputted by operation of a keyboard and a mouse. And, the CPU may be arranged to automatically operate and derive arrangement of icons and filter coefficients corresponding to input parameters.
In addition, utilizing mathematical function of spreadsheet software installed in a personal computers and the like, it is also possible to perform a moving average operation at the time of deriving basic filters and an operation of convolution at the time of connecting basic filters in cascade connection, and the like. Operations in this case are actually performed by a CPU, a ROM, a RAM and the like of a personal computer and the like in which spreadsheet software is installed.
In addition, the derived filter coefficients undergo FFT transformation automatically, a result thereof may be arranged to be displayed as frequency-gain characteristic diagram on a display screen. This will enable visual confirmation on the designed filter frequency characteristic and enable filter designing more easily.
<Example of Mounting Digital Filter>
In case of actually implementing a digital filter inside an electronical device and semiconductor IC, it is advisable to configure an FIR filter having a sequence of numbers finally derived as filter coefficients by a filter designing apparatus as described above. That is, as shown in
In that case, the number of the derived filter coefficients are significantly reduced by 10-bits rounding and converted to simple integers by 210-th conversion-to-integer processing. Accordingly, the tap count is extremely small and basically the part of the coefficient multiplier 2 does not require any multiplier but a bit shift circuit is applicable so that a desired frequency characteristic can be realized with a high accuracy in a small circuit size.
Here, basic filters used for filter designing may be configured as hardware respectively so that they are connected as hardware to mount a digital filter.
As described above in detail, according to the first embodiment, the filter coefficients are calculated in such a form that more than one basic filters are combined and connected arbitrarily in cascade connection and moreover unnecessary filter coefficients are arranged to be significantly reduced by rounding, and thereby, the tap count can be significantly reduced compared in case of conventional FIR filters. In addition, by converting the filter coefficients into integers, coefficient multipliers at the respective tap output ports can be configured by a bit shift circuit, no multiplier will become necessary so that almost all configuration consists of D-type flip-flops and adder-subtractors. Accordingly, the number of circuit elements is significantly reduced so that circuit size can be made small and reduction in power consumption, alleviation in operation load and the like can be realized.
Moreover, since it is possible to significantly reduce the number of unnecessary filter coefficients by rounding, it is possible to make the conventional window multiplication unnecessary in order to reduce the number of filter coefficients. Since it is possible to design a digital filter without performing the window multiplication, no truncation error will occur to the frequency characteristic. Accordingly, it is possible to realize a desired frequency characteristic of a digital filter with a high accuracy.
In addition, it is possible to configure a digital filter only by combination of basic filters so that designing will become a work of synthesizing frequency characteristics on the actual frequency axis. Accordingly, filter designing is simple and easy to think and even those unskilled in the art can implement filter designing extremely simply and sensuously.
Next, a second embodiment of the present invention will be described based on the drawings.
In
A frequency characteristic indicated by the reference character A in
Next, there is derived symmetric second filter coefficients of realizing a frequency-gain characteristic (the reference character B in
That is, in case of taking {H−i, H−(i−1), . . . , H−1, H0, H1, . . . , Hi−1, Hi} (H0 is the central value and is of a symmetric type with the central value being the border. H−i=Hi, H−(i−1)=Hi−1, . . . , H−1=H1) as a sequence of numbers of the first filter coefficients configuring the original filter, the second filter coefficients are derived by an operation of {−αH−i, −αH−(i−1), . . . −αH−1, −αH0+(1+α), −αH1, . . . , −αHi−1, −αHi}} (α is any positive number). That is, all the coefficients beside the central value are multiplied by −α while only the central value is multiplied by −α and moreover (1+α) is added thereto, and thereby the second filter coefficients are derived. The filter having second filter coefficients will be called “adjustment filter” below.
After thus deriving the second filter coefficients, there is performed an operation of deriving third filter coefficients derived in the case where the original filter having the first filter coefficients and the adjustment filter having the second filter coefficients are connected in cascade connection (Step S3). By connecting the original filter and the adjustment filter in cascade connection, the first filter coefficients and the second filter coefficients undergo multiplication and addition to create new filter coefficients. Contents of an operation of cascade connection are as described in the first embodiment.
And, for the third filter coefficients generated thereby, unnecessary filter coefficients are significantly reduced by rounding to reduce the bit count and the filter coefficients are simplified by conversion-to-integer processing (Step S4).
Here, likewise the first embodiment as well, processing of reducing the bit count of filter coefficients and processing of converting filter coefficients into integers are not necessarily implemented separately, but by multiplying filter coefficients with 2x or N directly and rounding the number after the decimal point of the value derived as a result thereof (cut off, round up or rounding off to the nearest integer and the like), the processing of decreasing the bit count of filter coefficients and the processing of converting filter coefficients into integers may be concurrently implemented by one rounding operation. In addition, making those with y-bits filter coefficients smaller than ½x into zero and those with filter coefficients equal to ½x or larger, (x+X)-bits filter coefficients converted to integers subject to multiplying filter coefficients by 2x+X(x+X<y) and rounding the number after the decimal point of the value may be arranged to be derive.
Also in the second embodiment, in order to decrease the number of filter coefficients, window multiplication as in a conventional case is not necessarily required. Since it is possible to design a digital filter without performing the window multiplication, no truncation error will occur to the frequency characteristic. Accordingly, it will become possible to improve the cutoff characteristic to an extremely large extent so as to make available a filter characteristic with a phase characteristic being linear and excellent.
Here, such an example that one adjustment filter is connected to the original filter in cascade connection has been exemplified for description, but a plurality of adjustment filters may be arranged to be brought in to cascade connection. In that case, as indicated by a dotted arrow in
Moreover, performing an operation of convolution on the thus generated new first filter coefficients and new second filter coefficients, new third filter coefficients derived in case of further connecting new adjustment filters in cascade connection are operated. After repeating such an operation for the number of adjustment filters desired for cascade connection, rounding processing of Step S4 is executed onto third filter coefficients generated in Step S3 of the final stage.
As shown in this
Here, this
That is, a new frequency-gain characteristic C in case of connecting one unit of adjustment filter to the original filter in cascade connection will be such a form subject to multiplication of the frequency-gain characteristic A of the original filter with the frequency-gain characteristic B of the adjustment filter. In case of further connecting the second unit of adjustment filter in cascade connection, third filter coefficients corresponding to a such generated frequency-gain characteristic C are used as first filter coefficients newly to derive new second filter coefficients on the second unit of adjustment filter.
This is not depicted but in case of further connecting the third unit of adjustment filter in cascade connection, filter coefficients corresponding to the new frequency-gain characteristic C′ generated with the procedure in
Thus, by connecting a plurality of adjustment filters in cascade connection to the original filter, it is possible to widen pass bandwidth of the filter and steepen an inclination of a blocking range. In case of α=1, the frequency-gain characteristic of the original filter is axisymmetric to the frequency-gain characteristic of the adjustment filter with a line of “1” for amplitude as the border. Accordingly, even if any units of adjustment filters are connected in cascade connection, the mutually multiplied frequency-gain characteristic of the new filter will not exceed the line of amplitude “1” so that neither overshoot nor ringing will occur. Thereby, the value of α is preferably set to “1”.
On the other hand, making the value of α larger than 1, overshoot or ringing occurs more or less, but it is possible to enlarge the rate of pass bandwidth that can be widened per connection of one unit of adjustment filter. Accordingly, in the case where the pass bandwidth is desired to be widened efficiently with less units of adjustment filters, it is advisable to enlarge the value of α. In this case, after a plurality of stages of the adjustment filters having derived the second filter coefficients with α≠1 are connected in cascade connection, the adjustment filter with α=1 is connected to the last stage. Thereby it is possible to widen the pass bandwidth efficiently and derive a good frequency characteristic without any overshoot and ringing.
So far, an example of designing a bandpass filter has been described, it is possible to design a lowpass filter, a highpass filter and the like with the likewise procedure.
In
It is possible to realize an apparatus for realizing a filter designing method according to the second embodiment described so far with any of hardware configuration, DSP and software. For example, in case of realizing a filter designing apparatus in the present embodiment with software, it is actually configured by CPU or MPU, RAM, ROM or the like of a computer and can be realized by operating a program stored in the RAM, the ROM or the hard disc and the like.
It is possible to derive the first filter coefficients by employing a configuration likewise the fist embodiment. That is, filter coefficients on respective types of basic filters Lman, Lan, Hmsn, Hsn, Bmsn and Bsn are stored in a storage apparatus as data. And when a user instructs any combination on the basic filters Lman, Lan, Hmsn, Hsn, Bmsn and Bsn, a connection order, a zero value count k inserted between respective filter coefficients, cascade-connected homogeneous basic filter count M and the like, the CPU derives filter coefficients corresponding to the instructed contents with the above described operation with data of the filter coefficients stored in the above described storage apparatus.
In addition, it is possible to derive the second filter coefficients of an adjustment filter from the first filter coefficients by the CPU multiplying all the filter coefficients beside the center value of a sequence of numbers by −α while multiplying only the center value by −α and moreover adding (1+α). In addition, it is possible to derive the third filter coefficients by connection in cascade connection from the first filter coefficients and the second filter coefficients by the CPU performing an operation as in the above described
In addition, utilizing mathematical function of spreadsheet software installed in a personal computers and the like, it is also possible to perform an operation of deriving the first filter coefficients, an operation of deriving the second filter coefficients, an operation of deriving the third filter coefficients and an operation of rounding the third filter coefficients. Operations in this case are actually performed by the CPU, the ROM, the RAM and the like of a personal computer and the like in which spreadsheet software is installed.
In addition, the derived filter coefficients undergo FFT transformation automatically, a result thereof may be arranged to be displayed as frequency-gain characteristic diagram on a display screen. This will enable visual confirmation on the designed filter frequency characteristic and enable filter designing more easily.
In case of actually implementing a digital filter inside an electronical device and semiconductor IC, as shown in
Here, an original filter and an adjustment filter may be configured as hardware respectively so that they are connected as hardware to mount a digital filter.
Next, a third embodiment of the present invention will be described based on the drawings.
Next, by performing a frequency shift operation on the basic filter having a frequency-gain characteristic as in
In case of {H−i0, H−(i−1)0, H−(i−2)0, . . . , H−10, H00, H10, . . . , Hi−20, Hi−10, Hi0} (being symmetric with coefficient HC0 as the center) being a sequence of filter coefficients of the basic filter and {H−iγ, H−(i−1)γ, H−(i−2)γ, . . . , H−1γ, H0γ, H1γ, . . . , Hi−2γ, Hi−1γ, Hiγ} being a sequence of filter coefficients of the γ-th unit of frequency shift filter counted from the basic filter (with a frequency-gain characteristic of the basic filter subject to frequency shift only by “predetermined frequency x γ”), a coefficient Hjγ of the coefficient number j (j=−i, −(i−1), −(i−2), . . . , −1, 0, 1, . . . , i−2, i−1, i) in the γ-th unit of frequency shift filter is derived by
Hjγ=Hj0*2 cos (2πγj/(β/2)).
For example, a coefficient H−iγ with the coefficient number being −i in the γ-th unit of frequency shift filter is derived by
H−iγ=H−i0*2 cos (2πγ*(−i)/(β/2)).
In addition, a coefficient H−(i−1)γ with the coefficient number being −(i−1) is derived by
H−(i−1)γ=H−(i−1)C*2 cos (2πγ*(−(i−1)/(β/2)).
The other coefficients {H−(i−2)γ, . . . , H−iγ, H0γ, H1γ, . . . , Hi−2γ, Hi−1γ, Hiγ} are derived by a likewise operation.
And, taking out one or more filters arbitrarily from a plurality of filters generated in the above described Step S11 and Step S12, filter coefficients thereof having corresponding coefficient numbers are added to thereby derive new filter coefficients (Step S13). For example, in case of adding the γ-th unit of frequency shift filter counted from the basic filter to the (γ+1)-th unit of frequency shift filter, filter coefficients to be derived will be
{H−i65+H−iγ+1, H−(i−1)65+H−(i−1)γ+1, H−(i−2)γ+H−(i−2)γ, . . . , H−1γ+H−1γ−1, H0γ+H0γ+1, H1γ+H1γ+1, . . . , Hi−2γHi−2γ+1, Hi−1γ+Hi−1γ+1, Hiγ+Hiγ+1}.
As described above, since the mutually adjacent filters are made so as to mutually overlap just in the part of the amplitude ½, addition of those filter coefficients will make the amplitude to just “1”. Consequently, the top part of the pass range of the derived filter is flattened. Accordingly, adding 32 units of filter coefficients corresponding to γ=0 to 31, the top parts of those 32 units of filters are flattened to derive a pass range having bandwidth of (fs/2/128)×32. In addition, the filter corresponding to γ=32 is not a subject of addition, a trap will occur in that part. Moreover, adding six units of filter coefficients corresponding to γ=33 to 38, the top parts of those six filters are flattened to derive a pass range having bandwidth of (fs/2/128)×6. As described so far, it is possible to derive a specially shaped lowpass filter having a passband range in the part of γ=0 to 38 and a trap in the part of γ=32.
Next, for the filter coefficients generated in Step S13, unnecessary filter coefficients are significantly reduced by rounding to reduce the bit count and the filter coefficients are simplified by conversion-to-integer processing (Step S14).
Here, likewise the first embodiment as well, processing of reducing the bit count of filter coefficients and processing of converting filter coefficients into integers are not necessarily implemented separately, but by multiplying filter coefficients with 2x or N directly and rounding the number after the decimal point of the value derived as a result thereof (truncation off, truncation up or rounding off to the nearest integer and the like) the processing of decreasing the bit count of filter coefficients and the processing of converting filter coefficients into integers may be concurrently implemented by one rounding operation. In addition, making those with y-bits filter coefficients smaller than ½x into zero and those with filter coefficients equal to ½x or larger, (x+X)-bits filter coefficients converted to integers subject to multiplying filter coefficients by 2x+X (x+X<y) and rounding the number after the decimal point of the value may be arranged to be derive.
Also in the third embodiment, in order to decrease the number of filter coefficients, window multiplication as in a conventional case is not necessarily required. Since it is possible to design a digital filter without performing the window multiplication, no truncation error will occur to the frequency characteristic. Accordingly, it will become possible to improve the cutoff characteristic to an extremely large extent so as to make available a filter characteristic with a phase characteristic being linear and excellent.
Next, a method of generating a basic filter in the above described Step S11 will be described in detail. In the present invention, a method of generating this basic filter will not be limited in particular. If the sequence of numbers of filter coefficients is symmetric, it is possible to apply various generation methods. For example, a conventional designing method in use of the approximation formula and the window function may be used. In addition, a designing method of bringing a plurality of amplitude values expressing a desired frequency characteristic into inverse Fourier transform. In addition, the designing method (except rounding) described in the first embodiment may be employed.
As shown in
Accordingly, taking 127 units as the number of “0” to be inserted, there derived is a frequency-gain characteristic of a lowpass filter having bandwidth as a pass range derived by dividing a half of the sampling frequency fs by 128. However, since this will still present a frequency characteristic of a continuous wave with 128 units of pass ranges being present inside a band lower than the central frequency, it is necessary to cut out a frequency characteristic of a single wave configuring basic filter as in
At the time of implementing a cutout operation of a single wave, a window filter WF as shown in
In the present invention, a method of generating the window filter WF will not be limited in particular, but it is possible to apply various generation methods. As an example, there is a method of inputting a plurality of amplitude values expressing a frequency characteristic of a window filter WF to bring the relevant inputted sequence of numbers into inverse Fourier transform. As known well, implementing Fourier transform (FFT) on a certain sequence of numbers, waveform of a frequency-gain characteristic corresponding to the sequence of numbers thereof is derived. Accordingly, inputting a sequence of numbers expressing waveform of a desired frequency-gain characteristic and bring them into inverse Fourier transform to extract the real term, the original sequence of numbers necessary for realizing the relevant frequency-gain characteristic is derived. That sequence of numbers corresponds to the filter coefficients of the window filter WF to be derived.
Here, in order to configure an ideal filter, infinite units of filter coefficients are required and it is necessary to make the filter tap count into unlimited number of units. Accordingly, in order to make the error from the desired frequency characteristic small, the number of input data corresponding to the filter coefficient count is preferably made abundant until the frequency error falls within a required range. However, as for the window filter WF, it will do if all pass range only enough for the basic filter is included in the pass range, no accuracy more than that is required. Therefore, the input data count (the filter coefficient count of the window filter WF) of the sequence of numbers may not be made so abundant.
As for input of amplitude value expressing a frequency characteristic of a window filter WF, numeric values of individual sample points may be inputted directly or desired frequency characteristic waveform may be illustrated on a two-dimensional input coordinate for describing a frequency-gain characteristic so that the illustrated waveform is arranged to undergo replacement input into a sequence of numbers corresponding therewith. Using the latter input technique, it is possible to input data while confirming the desired frequency-gain as an image. Therefore it is possible to make it easy to intuitively input the data expressing the desired frequency characteristic.
Several means for realizing the latter input technique can be considered. Such a method can be considered that, for example, a two-dimensional plane expressing a frequency-gain characteristic is displayed onto a display screen of a computer to illustrate the waveform of a desired frequency characteristic onto the two dimensional plane with a GUI (Graphical User Interface) and the like so as to make it into a numeric value data. In addition, instead of the GUI on a computer screen, a pointing device such as digitalizer, a plotter and the lime may be used. The technique nominated herein is only a simple example, a sequence of numbers may be arranged to be inputted with the other technique. In addition, here a desired frequency-gain characteristic is inputted as a sequence of numbers but may be inputted as a function expressing a waveform of the relevant frequency-gain characteristic.
Here, without using a window filter WF, an amplitude value expressing a frequency characteristic of a basic filter is inputted and undergoes the inverse FFT and thereby it is also possible to derive filter coefficients of the basic filter directly. However, in order to configure an ideal basic filter by an inverse FFT operation (in order to make an error from a desired frequency characteristic small), it is necessary to make the input data count corresponding to the filter coefficient counts extremely abundant. In that case, the filter coefficients configuring the basic filter will get huge in count and the filter coefficients as the final product generated by utilizing that will get huge in count. Accordingly, in case of desiring to make the filter coefficients as small as possible in count, the basic filter is preferably generated in use of a window filter WF as described above.
As described above, when the filter coefficients of the basic filter are derived, the filter coefficients of a plurality of frequency shift filters are further derived by the frequency shift operation. And, taking out one or more filters arbitrarily from a basic filter and a plurality of frequency shift filters, filter coefficients thereof having corresponding coefficient numbers are added to thereby derive new filter coefficients. It is possible to generate a digital filter having any frequency characteristic by arbitrarily changing the filter to be extracted.
And, for a sequence of numbers of the filter coefficients derived thereby, it is possible to significantly reduce unnecessary filter coefficients by rounding to reduce the bit count and to simplify the filter coefficients by conversion-to-integer processing. Accordingly, in order to decrease the number of filter coefficients, window multiplication as in a conventional case is not required. Since it is possible to design a digital filter without performing the window multiplication, no truncation error will occur to the frequency characteristic. Accordingly, it will become possible to improve the cut off characteristic to an extremely large extent so as to make available a filter characteristic with a phase characteristic being linear and excellent.
It is possible to realize an apparatus for realizing a filter designing method according to the third embodiment described so far with any of hardware configuration, DSP and software. For example, for realizing a filter designing apparatus in the present embodiment by software, it is actually configured by CPU or MPU, RAM, ROM and the like of a computer and can be realized by operating a program stored in the RAM, the ROM or the hard disc and the like.
For example, utilizing mathematical function of spreadsheet software installed in a personal computer and the like, it is also possible to perform an operation of deriving the basic filter, an operation of deriving the frequency shift filter and an operation of adding the filter coefficients of filters arbitrarily selected from the basic filter and a plurality of frequency shift filters. Operations in this case are actually performed by the CPU, the ROM, the RAM and the like of a personal computer and the like in which spreadsheet software is installed.
In addition, it is also advisable to calculate the filter coefficients of the basic filter and the filter coefficients of a plurality of frequency shift filters in advance to store them in a storage apparatus so that the CPU extracts and operates those selected by a user who operates a keyboard or a mouse.
In
Reference numeral 63 denotes an operation part to select any one and more filters from the basic filter and a plurality of frequency shift filters. This operation part 63 is configured by an input device such as a keyboard, a mouse and the like. Reference numeral 64 denotes a display part, which displays a selection window at the time of selecting any one or more filters. This selection window may cause column numbers of the filter coefficient table 61 to be displayed to select any of them or may cause waveforms of frequency characteristics as in
Reference numeral 65 denotes an calculation part to add filter coefficients (controller 12 reads from the filter coefficient table 11), which the operation part 63 selects out of the basic filter and a plurality of frequency shift filters, having corresponding coefficient numbers to thereby derive filter coefficients of a digital filter. This calculation part 65 also truncates off the lower bits for data of thus derived filter coefficients to perform, thereby, rounding on y-bits data to x bits and also multiply x-bits coefficient values by 2x to round the fractional part.
Such configured digital filter designing apparatus derives and makes filter coefficients of the basic filter and a plurality of frequency shift filters and into table data in advance. Thereby it is possible for a user to operate the operation part 63 and select filter coefficients of filters so as to design a desired digital filter with only an extremely simple operation of simply adding them.
In case of actually implementing a digital filter inside an electronical device and semiconductor IC, as shown in
Here, basic filters and frequency shift filters may be configured as hardware respectively so that they are connected as hardware to mount a digital filter.
According to the third embodiment configured as described above, it is possible to accurately design a digital filter having an arbitrarily shaped frequency-gain characteristic with extremely simple processing of only selecting a desired one or more filters from the basic filter and a plurality of frequency shift filters generated from that and adding filter coefficients thereof. Moreover, it is possible to significantly reduce unnecessary filter coefficients by rounding and to simplify filter coefficients. Thereby, it is possible to configure a digital filter of realizing a desired frequency characteristic with a high accuracy in an extremely small circuit size.
Here, in the above described third embodiment, an example of using {−1, 0, 9, 16, 9, 0, −1} as a sequence of numbers of filter coefficients of the basic unit filter has been described, but the present invention will not be limited thereto. If the sequence of numbers is symmetric, it is applicable to the present invention.
In addition, in the above described third embodiment, there has been described an example in use of a lowpass filter as the basic filter, which undergoes frequency shift to the high frequency side, but the present invention will not be limited thereto. A highpass filter may be used as a basic filter so as to make it undergo frequency shift to the low frequency side or a bandpass filter may be used as a basic filter so as to make it undergo frequency shift to the high frequency side and the low frequency side.
In addition, in the above described third embodiment, the calculation part 65 may optionally weight filter coefficients of the relevant selected one or more filters respectively at the time of performing an operation by adding filter coefficients (those read by the controller 62 from the filter coefficient table 61) of one or more filters selected by the operation part 63 to calculate new filter coefficients. That will make it possible to design extremely simply a digital filter having an arbitrarily shaped frequency-gain characteristic subject to emphasis and attenuation only on a particular frequency band. In addition, it is also possible to simply design a graphic equalizer and the like in utilization of this characteristic.
Otherwise, any of the above described first to third embodiments only exemplify an embodying method of implementing the present invention and the technical scope of the present invention must not be interpreted in a limited fashion thereby. That is, the present invention can be implemented in various forms without departing from the spirit thereof or the major characteristics thereof.
The present invention is useful for an FIR digital filter of a type of comprising tapped delay lines consisting of a plurality of delay devices and increasing several times in output signals of respective taps by respective coefficients and thereafter adding the result of those multiplications to output them.
Number | Date | Country | Kind |
---|---|---|---|
2004-039779 | Feb 2004 | JP | national |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP04/15562 | Oct 2004 | US |
Child | 11465056 | Aug 2006 | US |