CN1937404B - Filter set and its efficiency improving method - Google Patents

Filter set and its efficiency improving method Download PDF

Info

Publication number
CN1937404B
CN1937404B CN200610131796XA CN200610131796A CN1937404B CN 1937404 B CN1937404 B CN 1937404B CN 200610131796X A CN200610131796X A CN 200610131796XA CN 200610131796 A CN200610131796 A CN 200610131796A CN 1937404 B CN1937404 B CN 1937404B
Authority
CN
China
Prior art keywords
sample value
filter
filters
new
bank
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN200610131796XA
Other languages
Chinese (zh)
Other versions
CN1937404A (en
Inventor
盛思豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Via Technologies Inc filed Critical Via Technologies Inc
Priority to CN200610131796XA priority Critical patent/CN1937404B/en
Publication of CN1937404A publication Critical patent/CN1937404A/en
Application granted granted Critical
Publication of CN1937404B publication Critical patent/CN1937404B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

This is a means to improve the effect of filter sets. First, several input sample values and several output sample values appeared from the equation of filter sets are stored in order of an arrangement mode into the first storage. Secondary, the start flag points to the first element among several sample values related to the first filter in the filter set. Then, according to the mentioned equation, the new output sample values of that filter sets are produced from the mentioned several sample values and the new input sample values. Then, according to the arrangement mode, several sample values in the first storage are renewed by the mentioned new input sample values and the new output sample values. Finally, the start flag is moved from this first element to the next element to prepare for the next group of new input sample values of this filter sets to be process.

Description

Bank of filters and improve the method for its usefulness
Technical field
The present invention relates to bank of filters, particularly relate to the bank of filters that realizes by firmware.
Background technology
Bank of filters (filter bank) is made up of a plurality of filter.Because the accessible frequency band range of single filter (bandwidth) is less, therefore when the frequency band of signal was big, normal was less frequency range with band segmentation, each frequency range respectively with one to several filters with the processing signal sample.Therefore complicated signal processing apparatus often uses bank of filters to handle signal.For example equalizer (Equalizer) just comprises bank of filters to handle signal, and common equalizer can comprise the bank of filters of being made up of the single filter of dozens of.
Fig. 1 is the flow chart of the existing method 100 of bank of filters running.This bank of filters comprises K filter.Therefore method 100 at first in step 102 with the first filter process sample.Then, in successively in step 104 to 10K respectively with second filter to the K filter process sample.At last, in step 110, judge whether to carry out the processing of next sample.If proceed the processing of next sample, then get back to step 102 with next sample of first filter process; If do not proceed the processing of next sample, then method 100 finishes.
Present filter major part is to realize with hardware circuit.Yet, be convenient to the characteristic handled with software program based on digital signal, at present many filters are all realized with firmware program, and bank of filters is no exception.The process of a filter process one sample of being realized by firmware can be represented by an equation this equational new output sample Y 0 kThis is the present new input sample X of this filter 0 k, passing input sample X i kAnd passing output sample Y j kFunction.Wherein coefficient k is the sequence number of this filter in bank of filters, i>0 and j>0, and expression inputs or outputs make a fresh start respectively input sample value or new output sample value of sample value and starts at and order reciprocal respectively.The linear equation of common filter correspondence can be expressed as:
Y 0 k = ( a 0 k × X 0 k + a 1 k × X 1 k + · · · + a M k × X M k ) + ( b 1 k × Y 1 k + b 2 k × Y 2 k + · · · + b N k × Y N k ) ; - - - ( 1 )
A wherein M kThe coefficient of representing M input of this inverse sample value, and b N kThe coefficient of representing N output sample value of this inverse.If M equates that with N then N or M can represent this equational exponent number.
Fig. 2 is the flow chart with the existing method 200 of single filter process sample, and wherein this filter is to carry out firmware program with a processor to be realized.At first, in step 202 according to the linear equation of this filter correspondence, by the new input sample value X of this filter 0 kComplex sample value X with passing storage i k, Y j k, to produce the new output sample value Y of filter 0 kBecause equation is whenever handled a sample, the variable in all equations all must upgrade, and just can be suitable for the processing of next sample.For example present X 0 kX corresponding to next sample 1 k, and present Y 0 kY corresponding to next sample 1 kTherefore follow in step 204, upgrade all variablees of the pairing linear equation of this filter with a plurality of sample values of new input sample value, new output sample value and storage.With aforesaid equation (1) is example, the variable X during next sample calculation 1 kTo X M kAnd variable Y 1 kTo Y N k, all must be respectively with the input sample value X in this stage 0 kTo X M-1 kAnd output sample value Y 0 kTo Y N-1 kReplace.Therefore step 204 need be carried out the renewal of M+N variate-value at least.Then judge whether to carry out the processing of next sample in step 210, method 200 finishes if need not handle then.
The How It Works 100 of bank of filters, the step 102~10K of the single filter process sample that is wherein comprised can realize with 204 by the step 202 of manner of execution 200, shown in the step 206 of Fig. 2.Because step 204 need be carried out the renewal of M+N variate-value at least, wasted the time of implementation of many processors, and when a bank of filters had comprised K filter, the whole filter group is handled a sample then need carry out K * (M+N) renewal of inferior variable value.Therefore the exponent number of equation (1) is higher, and the filter number that bank of filters comprises the more upgrades the variate-value required time also the more.According to statistics, bank of filters was expended in the time of upgrading variate-value, occupied approximately to handle 1/3rd of the whole time of a sample, and had had a strong impact on the usefulness of bank of filters.
Summary of the invention
In view of this, the invention reside in a kind of method of improving bank of filters usefulness that provides, to solve the problem that prior art exists.This bank of filters comprises a plurality of filters, described a plurality of filters represent with a plurality of equations for the processing procedure of sample and by firmware program to realize.The corresponding filter of each equation in described a plurality of equation, and comprise a plurality of input sample coefficients that correspond respectively to a plurality of input sample values and a plurality of output sample coefficients that correspond respectively to a plurality of output sample values.
In an enforcement kenel, this method comprises the following steps: at first, stores the pairing described a plurality of input sample values of described a plurality of filter and described a plurality of output sample value in regular turn with an arrangement mode in one first storage device.The pairing a plurality of sample values of each filter concentrate to store in this arrangement mode, and in this arrangement mode the pairing a plurality of sample values of a filter to divide into a plurality of input sample values more concentrated separately and arrange according to time sequencing with a plurality of output sample value.Then, point to first element in the pairing a plurality of sample values of first filter in described a plurality of filter with an initial index.
Then, after this first filter receives new input sample value, with this new input sample value, upgrade the time sequencing output sample value the earliest in the pairing a plurality of output sample values of this first filter, and according to pairing equation, by the new input sample value of the pairing a plurality of sample values of this first filter and this, to produce the new output sample value of this first filter.According to this arrangement mode,, upgrade time sequencing input sample value the earliest in the pairing a plurality of input sample values of second filter in described a plurality of filter afterwards with this new output sample value.Then, other filter all carries out the operation of following processing sample successively in the described bank of filters: replace time sequencing output sample value the earliest in the pairing a plurality of output sample values of this filter with new input sample value, and according to pairing equation, by the new input sample value of the pairing a plurality of sample values of this filter and this, to produce the new output sample value of this filter, and according to this arrangement mode, with this new output sample value, replace time sequencing input sample value the earliest in the pairing a plurality of input sample values of next filter of this filter.At last, after all filters are all handled sample in regular turn and finished in described bank of filters,, move the next element of this initial index, newly import the processing of sample value for the next group of described a plurality of filters to this first element along a data moving direction.
The present invention implements also to provide a kind of bank of filters in the kenel at another.This bank of filters is made up of a plurality of filters, and described a plurality of filter is represented with a plurality of equations for the processing procedure of sample and by firmware program to realize.Corresponding filter of each equation in described a plurality of equation and comprise a plurality of input sample coefficients that correspond respectively to a plurality of input sample values and a plurality of output sample coefficients that correspond respectively to a plurality of output sample values.
This bank of filters comprises one first storage device, in order to store the pairing described a plurality of input sample values of described a plurality of filter and described a plurality of output sample value in regular turn with an arrangement mode.The pairing a plurality of sample values of each filter concentrate to store in this arrangement mode, and in this arrangement mode the pairing a plurality of sample values of a filter to divide into a plurality of input sample values more concentrated separately and arrange according to time sequencing with a plurality of output sample value.
This bank of filters also comprises a processor, be coupled to this first storage device, in order to carry out this firmware program, and point to first element in the pairing a plurality of sample values of first filter that are stored in a plurality of filters described in this first storage device with an initial index, after this first filter receives new input sample value, with this new input sample value, upgrade the time sequencing output sample value the earliest in the pairing a plurality of output sample values of this first filter, newly import sample value to produce the new output sample value of this first filter according to pairing equation and by the pairing a plurality of sample values of this first filter and this, according to this arrangement mode with this new output sample value, upgrade time sequencing input sample value the earliest in the pairing a plurality of input sample values of second filter in described a plurality of filter, other filter all carries out the operation of following processing sample successively in the described bank of filters: replace time sequencing output sample value the earliest in the pairing a plurality of output sample values of this filter with new input sample value, and according to pairing equation, by the new input sample value of the pairing a plurality of sample values of this filter and this, to produce the new output sample value of this filter, and according to this arrangement mode, with this new output sample value, replace time sequencing input sample value the earliest in the pairing a plurality of input sample values of next filter of this filter, and after all filters are all handled sample in regular turn and finished in described bank of filters, move this initial index is newly imported sample value for the next group of described a plurality of filters to the next element of this first element processing along a data moving direction.
For above and other objects of the present invention, feature and advantage can be become apparent, several preferred embodiments cited below particularly, and be described with reference to the accompanying drawings as follows.
Description of drawings
Fig. 1 is the flow chart of the existing method of bank of filters running;
Fig. 2 is the flow chart with the existing method of single filter process sample;
Fig. 3 is the flow chart according to the method for bank of filters running of the present invention;
Fig. 4 shows the embodiment according to the arrangement mode of the variate-value of bank of filters of the present invention;
Fig. 5 shows the embodiment according to the arrangement mode of the equational coefficient value of bank of filters of the present invention;
Fig. 6 a shows the variable value that is stored in first filter in first storage device according to the arrangement mode among Fig. 4;
The situation of Fig. 6 b displayed map 6a after moving initial index;
The situation of Fig. 6 c displayed map 6b after upgrading with new input sample value;
The situation of Fig. 6 d displayed map 6c after upgrading with new output sample value;
Fig. 7 is with the flow chart of the method for single filter process sample according to the present invention;
Fig. 8 a shows the embodiment according to the arrangement mode of the variate-value of bank of filters of the present invention;
Fig. 8 b is according to another embodiment of the arrangement mode of the variate-value of bank of filters of the present invention;
Fig. 8 c is according to another embodiment again of the arrangement mode of the variate-value of bank of filters of the present invention;
Fig. 8 d is according to another embodiment again of the arrangement mode of the variate-value of bank of filters of the present invention;
Fig. 9 is the block diagram according to bank of filters 900 of the present invention.
The reference numeral explanation
100,200,300,700~method;
102,104,10K, 110,202,204,206,210,302,304,312,314,31K, 306,310,702,704,706,710~step;
402,404,406,408,502,504,506,508~interval;
802,804,806,812,814,816,822,824,826,832,834,836~section;
900~bank of filters; 902~processor; 400,904~the first storage devices;
500,906~the second storage devices; 908~the 3rd storage devices;
910~firmware program; 912-91K~filter.
Embodiment
Fig. 3 is the flow chart according to the method 300 of bank of filters running of the present invention.This bank of filters is made up of K filter.A described K filter can be represented by K equation for the processing procedure of sample, and carry out firmware program to realize a described K equation by a processor.Each equation in the described K equation corresponds respectively to a filter, and each equation can be the form as equation (1).All waste time over the defective of the renewal variate-value of execution in step 204 for each filter in the improvement method 200, method 300 is at first in step 302, store the variate-value that the pairing equation of this K filter comprises in regular turn with an arrangement mode in one first storage device, described variate-value comprises passing a plurality of input sample value X i kWith a plurality of output sample value Y j k
Fig. 4 is shown in the embodiment according to the arrangement mode of the variate-value of bank of filters of the present invention.The equational variate-value of all of this bank of filters is stored in first storage device 400 according to this arrangement mode.Fig. 4 be the equation with the bank of filters correspondence be all the second-order equation formula be example to describe, this second-order equation formula is revised and got from equation (1), and is as follows:
Y 0 k = ( a 0 k × X 0 k + a 1 k × X 1 k + a 2 k × X 2 k ) + ( b 1 k × Y 1 k + b 2 k × Y 2 k ) ; - - - ( 2 )
Wherein coefficient k is the sequence number of this filter in bank of filters.In this arrangement mode, the pairing a plurality of sample value X of each filter i kWith Y j kConcentrate to store, for example the first filter corresponding sample value X i 1With Y j 1Concentrate to be stored in interval 406, and the second filter corresponding sample value X i 2With Y j 2Concentrate and be stored in interval 408.And the pairing a plurality of sample values of a filter are divided into a plurality of input sample value X again in this arrangement mode i kWith a plurality of output sample value Y i k, concentrate separately and arrange according to time sequencing.
For example, the input sample value X of first filter i 1With output sample value Y j 1Concentrate on interval 402 and interval 404 separately and arrange, and input sample value X i 1Be according to X 2 1, X 1 1, X 0 1Sequence arrangement, and output sample value Y i 1Be according to Y 2 1, Y 1 1, Y 0 1Sequence arrangement.In addition, an initial index (starting pointer) is pointed to first element X in the pairing sample value of first filter in first storage device as described in the step 304 of method 300 2 1In addition, this first storage device can be a cyclic buffer (circularbuffer), so that in the follow-up step of updating, should newly import sample value X when institute's desire stores 0 kOr new output sample value Y 0 kWhen the position to this first storage device had exceeded the storage scope of this first storage device, this new input sample value or new output sample value can directly be stored to the initial address of this first storage device.
Fig. 5 shows the embodiment according to the arrangement mode of the equational coefficient value of bank of filters of the present invention.The equational coefficient value of all of this bank of filters is stored in second storage device 500 according to this arrangement mode.Fig. 5 is that the kenel that the equation with the bank of filters correspondence is all equation (2) is an example, and the arrangement mode of coefficient can be arranged according to the variate-value arrangement mode of Fig. 4.The equational coefficient b of the first filter correspondence i 1With a j 1Concentrate to be stored in interval 506, and the equational coefficient value b of the second filter correspondence i 2With a j 2Concentrate and be stored in interval 508.The coefficient value a of the input sample of first filter i 1Coefficient value b with output sample j 1Concentrate on interval 502 and interval 504 separately and arrange, and the coefficient value a of input sample i 1Be according to a 2 1, a 1 1, a 0 1Sequence arrangement, and the coefficient value b of output sample i 1Be according to b 2 1, b 1 1Sequence arrangement.
Method 300 then can be in step 312 to 31K in successively respectively with first filter to the K filter process sample.Because this moment, all equational variate-values of this bank of filters were stored in first storage device 400 according to this arrangement mode in step 302, so firmware program need not expend time in and carries out the variate-value of renewal equation formula.The process 312 to 31K of each filter process sample is roughly similar, can be that example describes with first filter.Fig. 6 a shows the variable value that is stored in first filter in first storage device according to the arrangement mode among Fig. 4, is respectively X 2 1, X 1 1, X 0 1, Y 2 1, Y 1 1, Y 0 1This moment, initial index was pointed to X 2 1
Suppose that this moment, all K filter all disposed for present sample, therefore must upgrade the label of stored variate-value, for example new input in early stage sample X 0 1Become the last time sample X of next period 1 1In like manner, X 2 1, X 1 1, X 0 1, Y 2 1, Y 1 1, Y 0 1Become the X of first phase down in regular turn 3 1, X 2 1, X 1 1, Y 3 1, Y 2 1, Y 1 1Because first element of element representation first filter of initial pointed, and when the processing of current period sample, need not use first element X in early stage 3 1, therefore the action of the label of the stored variate-value of above-mentioned renewal can be moved initial pointer to first element X in early stage along a data moving direction by mat in Fig. 6 b 3 1Next element X 2 1And reach, and do not need really to change any storage values.
Then first filter is received a new input sample value X 0 1, processor can will should new input sample value replace time sequencing output sample value Y the earliest 3 1, to upgrade the pairing a plurality of output sample values of first filter.Fig. 6 c shows with new input sample value X 0 1The pairing a plurality of sample values of first filter that stores in first storage device after the renewal.So processor can read the X among Fig. 6 c according to this arrangement mode in first storage device 2 1, X 1 1, X 0 1, Y 2 1, Y 1 1, and in second storage device, read the coefficient a of equation (2) 2 1, a 1 1, a 0 1, b 2 1, b 1 1Processor can be according to the pairing equation of first filter (2), to produce the new output sample value Y of first filter afterwards 0 1At last, processor is with this new output sample value Y 0 1The input sample value X the earliest that replaces next filter 3 2, shown in Fig. 6 d.So the process of the processing sample of first filter is finished.First filter is for the processing of sample, only need as among Fig. 6 c and Fig. 6 d with new input sample value X 0 1With new output sample value Y 0 1Upgrade the pairing a plurality of sample values of first filter that stores in first storage device, and need not bring in constant renewal in equational variable value.
The step 314 of second filter to the K filter in the method 300 can continue according to the step of Fig. 6 c and Fig. 6 d to handle sample to 31K.After all filters in the bank of filters were all handled sample in regular turn and finished, processor can move the next element of initial pointer to this first element along a data moving direction in step 306, shown in Fig. 6 b.At last, processor can judge whether to carry out the processing of next sample in step 310.If proceed the processing of next sample, then get back to step 312 with next sample of first filter process; If do not proceed the processing of next sample, then method 300 finishes.
Though the process 312 to 31K of each filter process sample describes with Fig. 6 c and Fig. 6 d in the method 300, be used among the figure step of single filter process sample can Fig. 7 with the summary that makes an abstract.Fig. 7 be according to the present invention with the flow chart of the method 700 of single filter process sample, wherein this filter is to carry out firmware program with a processor to be realized.At first, in step 702 according to the equation of this filter correspondence, by the new input sample value X of this filter 0 kWith in first storage device with the stored complex sample value X of this arrangement mode i k, Y j k, to produce the new output sample value Y of filter 0 kThen in step 704, carry out step of updating, according to this arrangement mode, with new output sample value Y corresponding to Fig. 6 c and Fig. 6 d 0 kAnd new input sample value X 0 kUpgrade the complex sample value of this filter correspondence that stores in first storage device.Therefore step 704 need not carried out the renewal of M+N variate-value as in the step 204, only need store two value X 0 k, Y 0 kTo first storage device.Then judge whether to carry out the processing of next sample in step 710, method 700 finishes if need not handle then.And the step 706 that the process 312 to 31K of each filter process sample can Fig. 7 in the method 300 is carried out, and step 706 is made up of with 704 two steps 702.
Though method 300 describes with the arrangement mode among Fig. 4 with method 700, the applicable arrangement mode of the present invention is not limited to Fig. 4.It is for reference that the present invention proposes other 4 kinds of arrangement modes according to equation (1).At first, the arrangement mode of Fig. 8 a is the arrangement mode vague generalization with Fig. 4, to store the variate-value that equation (1) is comprised.With the k filter is example, and the section 802 of first storage device has stored the variate-value of corresponding k filter, comprises storing input sample value X in regular turn M k, X M-1 k, X 1 k, X 0 kSection 804 with store output sample value Y in regular turn N k, Y N-1 k..., Y 1 k, Y 0 kSection 806.In Fig. 6 b, the storage values of section 804 becomes X M+1 k, X M k..., X 2 k, X 1 k, and the storage values of section 806 becomes Y N+1 k, Y N k..., Y 2 k, Y 1 kThis moment Fig. 6 b correspondence move mode for being X with initial pointer movement to next element along a data moving direction M K=1In addition, the update mode of Fig. 6 c is with new input sample value X 0 kReplace Y N+1 k, and the update mode of Fig. 6 d is with this new output sample value Y 0 kThe X that replaces next filter M+1 K+1
The arrangement mode of Fig. 8 b is the arrangement mode with the reversed order of the input sample value of Fig. 8 a and output sample value.With the k filter is example, and the section 812 of first storage device has stored the variate-value of corresponding k filter, comprises storing output sample value Y in regular turn N k, Y N-1 k..., Y 1 k, Y 0 kSection 814 with store input sample value X in regular turn M k, X M-1 k..., X 1 k, X 0 kSection 816.In Fig. 6 b, the storage values of section 814 becomes Y N+1 k, Y N k..., Y 2 k, Y 1 k, and the storage values of section 816 becomes X M+1 k, X M K..., X 2 k, X 1 kThis moment Fig. 6 b correspondence move mode for being Y with initial pointer movement to next element along a data moving direction N K=1In addition, the update mode of Fig. 6 c is with new input sample value X 0 kThe Y that replaces next filter N+1 K+1, and the update mode of Fig. 6 d is with this new output sample value Y 0 kReplace X M+1 k
The arrangement mode of Fig. 8 c is the arrangement mode with the inner element reversed order of the input sample value of Fig. 4 and output sample value.With the k filter is example, and the section 822 of first storage device has stored the variate-value of corresponding k filter, comprises storing input sample value X in regular turn 0 k, X 1 k..., X M+1 k, X M kSection 824 with store output sample value Y in regular turn 0 k, Y 1 k..., Y N-1 k, Y N kSection 826.In Fig. 6 b, the storage values of section 824 becomes X 1 k, X 2 k..., X M k, X M+1 k, and the storage values of section 826 becomes Y 1 k, Y 2 k..., Y N k, Y N+1 kThis moment Fig. 6 b correspondence move mode for being Y with initial pointer movement to next element along a data moving direction N K=1In addition, the update mode of Fig. 6 c is with new input sample value X 0 kThe Y that replaces last filter N+1 K-1, and the update mode of Fig. 6 d is with this new output sample value Y 0 kReplace X M+1 k
The arrangement mode of Fig. 8 d is the arrangement mode with the inner element reversed order of the input sample value of Fig. 8 b and output sample value.With the k filter is example, and the section 832 of first storage device has stored the variate-value of corresponding k filter, comprises storing output sample value Y in regular turn 0 k, Y 1 k..., Y N-1 k, Y N kSection 834 with store input sample value X in regular turn 0 k, X 1 k..., X M-1 k, X M kSection 836.In Fig. 6 b, the storage values of section 834 becomes Y 1 k, Y 2 k..., Y N k, Y N+1 k, and the storage values of section 816 becomes X 1 k, X 2 k..., X M k, X M+1 kThis moment Fig. 6 b correspondence move mode for being X with initial pointer movement to next element along a data moving direction M K=1In addition, the update mode of Fig. 6 c is with new input sample value X 0 kReplace Y N+1 k, and the update mode of Fig. 6 d is with this new output sample value Y 0 kThe X that replaces last filter M K-1
Fig. 9 is the block diagram according to bank of filters 900 of the present invention.Bank of filters 900 is imported sample value in order to handle, and the output of the sample value after will handling.Bank of filters 900 comprises a processor 902 and first, second, third storage device 904,906,908.The 3rd storage device 908 stores a plurality of filter 912 to 91K pairing firmware programs 910.The treated device 90 of described firmware program is carried out this firmware program, to realize the processing procedure of a plurality of filters for sample.Each filter is respectively represented with equation respectively for the processing of sample, as equation (1).
First storage device 904 can be a cyclic buffer of a random access memory or this processor 902.First storage device 904 stores the pairing described a plurality of input sample values of described a plurality of filter and described a plurality of output sample value in regular turn in order to the arrangement mode with 8a, 8b, 8c or 8d figure.Second storage device 906 can be a random access memory, and it can store the equational a plurality of coefficients of described plural number in regular turn according to the arrangement mode in first storage device, as shown in Figure 5.Processor 902 is coupled to first, second, third storage device 904,906,908.When processor 902 is carried out firmware programs 908, processor 902 can implementation method 300 finishing the running of bank of filters 900, and implementation method 700 is to finish the process of each filter process sample.So the equational variable and the coefficient of each bank of filters correspondence, can be respectively at being stored in first storage device 904 and second storage device 906 and upgrading.
So the present invention provides a kind of method of improving bank of filters usefulness in embodiment.To store the equational variate-value of bank of filters, make each filter when handling sample, need not expend time in by specific arrangement mode in the variable that upgrades filter equation.Because the variable of renewal filter equation exhausts bank of filters approximately and handles 33% of the spent whole time of a sample in the prior art, the present invention has saved for about 33% time of implementation, and has promoted the usefulness of bank of filters greatly.
Though the present invention discloses as above with preferred embodiment; right its is not in order to limit the present invention; those skilled in the art can do some changes and retouching under the premise without departing from the spirit and scope of the present invention, so protection scope of the present invention is as the criterion with claim of the present invention.

Claims (18)

1. method of improving bank of filters usefulness, this bank of filters comprises a plurality of filters, described a plurality of filter represent with a plurality of equations for the processing procedure of sample and by firmware program to realize, corresponding filter of each equation in described a plurality of equation and comprise a plurality of input sample coefficients that correspond respectively to a plurality of input sample values and a plurality of output sample coefficients that correspond respectively to a plurality of output sample values, this method comprises the following steps:
Store the pairing described a plurality of input sample values of described a plurality of filter and described a plurality of output sample value in regular turn with an arrangement mode, the pairing a plurality of sample values of each filter concentrate to store in this arrangement mode, and in this arrangement mode the pairing a plurality of sample values of each filter to divide into a plurality of input sample values more concentrated separately and arrange according to time sequencing with a plurality of output sample value;
Point to first element in the pairing a plurality of sample values of first filter in described a plurality of filter with an initial index;
After this first filter receives new input sample value, with this new input sample value, upgrade the time sequencing output sample value the earliest in the pairing a plurality of output sample values of this first filter, and according to pairing equation, by the new input sample value of the pairing a plurality of sample values of this first filter and this, to produce the new output sample value of this first filter;
According to this arrangement mode,, upgrade time sequencing input sample value the earliest in the pairing a plurality of input sample values of second filter in described a plurality of filter with this new output sample value;
Other filter all carries out the operation of following processing sample successively in the described bank of filters: replace time sequencing output sample value the earliest in the pairing a plurality of output sample values of this filter with new input sample value, and according to pairing equation, by the new input sample value of the pairing a plurality of sample values of this filter and this, to produce the new output sample value of this filter, and according to this arrangement mode, with this new output sample value, replace time sequencing input sample value the earliest in the pairing a plurality of input sample values of next filter of this filter; And
After all filters are all handled sample in regular turn and finished in described bank of filters,, move the next element of this initial index, newly import the processing of sample value for the next group of described a plurality of filters to this first element along a data moving direction.
2. the method for improving bank of filters usefulness as claimed in claim 1, wherein this second filter is order next filter inferior to this first filter.
3. the method for improving bank of filters usefulness as claimed in claim 1 also comprises the following steps:
According to this arrangement mode, store a plurality of coefficients corresponding in described a plurality of equation one to one in regular turn with described a plurality of sample values; And
Read described a plurality of equational a plurality of coefficients in regular turn, for the usefulness of the described new output sample value that produces described a plurality of filters.
4. the method for improving bank of filters usefulness as claimed in claim 1, also comprise the steps: to use a cyclic buffer so that in this step of updating, when institute's desire stored destination address in this new input sample value or new output sample value to one first storage device and exceeded the storage scope of this first storage device, this new input sample value or new output sample value can directly be stored to the initial address of this first storage device.
5. the method for improving bank of filters usefulness as claimed in claim 1, wherein said a plurality of equations all can be represented by following equation:
Y 0 k = ( a 0 k × X 0 k + a 1 k × X 1 k + . . . + a M k × X M k ) + ( b 1 k × Y 1 k + b 2 k × Y 2 k + . . . + b N k × Y N k ) ;
Wherein coefficient k represents that this is the equation of k filter in described a plurality of filter, X 0 kSample value, X should be newly imported in expression M kExpression is from should new input sample value starting at M input sample value reciprocal, a M kThe coefficient of representing M input of this inverse sample value, Y 0 kRepresent this new output sample value, Y N kExpression is started at N output sample value reciprocal, b from this new output sample value N kThe coefficient of representing N output sample value of this inverse.
6. the method for improving bank of filters usefulness as claimed in claim 5, this arrangement mode is ... Y 1 K-1, X M+1 k, X M k..., X 2 k, X 1 k, Y N+1 k, Y N k..., Y 2 k, Y 1 k, X M+1 K+1, k is the sequence number of described a plurality of filters, first element of this of this sensing step is X M+1 K=1, this step of updating is with this new input sample value X 0 kReplace Y N+1 kAnd with this new output sample value Y 0 kReplace X M+1 K+1, this this next element that moves step is X M K=1, and this next group newly to import sample value be X -1 k
7. the method for improving bank of filters usefulness as claimed in claim 5, this arrangement mode is ... X 1 K-1, Y N+1 k, Y Nk..., Y 2 k, Y 1 k, X M+1 k, X M k..., X 2 k, X 1 k, Y N+1 K+1, k is the sequence number of described a plurality of filters, first element of this of this sensing step is Y N+1 k=1, this step of updating is with this new input sample value X 0 kReplace Y N+1 K+1And with this new output sample value Y 0 kReplace X M+1 k, this this next element that moves step is Y N K=1, and this next group newly to import sample value be X -1 k
8. the method for improving bank of filters usefulness as claimed in claim 5, this arrangement mode is ... Y N+1 K-1, X 1 k, X 2 k..., X M k, X M+1 k, Y 1 k, Y 2 k..., Y N k, Y N+1 k, X 1 K+1, k is the sequence number of described a plurality of filters, first element of this of this sensing step is Y N+1 K=1, this step of updating is with this new input sample value X 0 kReplace Y N+1 K-1And with this new output sample value Y 0 kReplace X M+1 k, this this next element that moves step is Y N K=1, and this next group newly to import sample value be X -1 k
9. the method for improving bank of filters usefulness as claimed in claim 5, this arrangement mode is ... X M K-1, Y 1 k, Y 2 k..., Y N k, Y N+1 k, X 1 k, X 2 k..., X M k, X M+1 k, Y 1 K+1, k is the sequence number of described a plurality of filters, first element of this of this sensing step is X M+1 K=1, this step of updating is with this new input sample value X 0 kReplace Y N+1 kAnd with this new output sample value Y 0 kReplace X M K-1, this this next element that moves step is X M K=1, and this next new input sample value is X -1 k
10. bank of filters, this bank of filters is made up of a plurality of filters, described a plurality of filter represent with a plurality of equations for the processing procedure of sample and by firmware program to realize, corresponding filter of each equation in described a plurality of equation and comprise a plurality of input sample coefficients that correspond respectively to a plurality of input sample values and a plurality of output sample coefficients that correspond respectively to a plurality of output sample values, this bank of filters comprises:
First storage device, in order to store the pairing described a plurality of input sample values of described a plurality of filter and described a plurality of output sample value in regular turn with an arrangement mode, the pairing a plurality of sample values of each filter concentrate to store in this arrangement mode, and in this arrangement mode the pairing a plurality of sample values of each filter to divide into a plurality of input sample values more concentrated separately and arrange according to time sequencing with a plurality of output sample value;
Processor, be coupled to this first storage device, in order to carry out this firmware program, and point to first element in the pairing a plurality of sample values of first filter that are stored in a plurality of filters described in this first storage device with an initial index, after this first filter receives new input sample value, with this new input sample value, upgrade the time sequencing output sample value the earliest in the pairing a plurality of output sample values of this first filter, newly import sample value to produce the new output sample value of this first filter according to pairing equation and by the pairing a plurality of sample values of this first filter and this, according to this arrangement mode with this new output sample value, upgrade time sequencing input sample value the earliest in the pairing a plurality of input sample values of second filter in described a plurality of filter, other filter all carries out the operation of following processing sample successively in the described bank of filters: replace time sequencing output sample value the earliest in the pairing a plurality of output sample values of this filter with new input sample value, and according to pairing equation, by the new input sample value of the pairing a plurality of sample values of this filter and this, to produce the new output sample value of this filter, and according to this arrangement mode, with this new output sample value, replace time sequencing input sample value the earliest in the pairing a plurality of input sample values of next filter of this filter, and after all filters are all handled sample in regular turn and finished in described bank of filters, move this initial index is newly imported sample value for the next group of described a plurality of filters to the next element of this first element processing along a data moving direction.
11. bank of filters as claimed in claim 10, wherein this second filter is order next filter inferior to this first filter.
12. bank of filters as claimed in claim 10, wherein this bank of filters more comprises one second storage device, be coupled to this processor, in order to according to this arrangement mode in wherein storing a plurality of coefficients corresponding in described a plurality of equation one to one in regular turn with described a plurality of sample values, and this processor can read described a plurality of equational a plurality of coefficients in regular turn in this second storage device, for the described new output sample value that produces described a plurality of filters.
13. bank of filters as claimed in claim 10, wherein this first storage device is a cyclic buffer, so that this processor is when carrying out the renewal of described new input sample value and described new output sample value, when this processor institute desire stored this new input sample value or newly the destination address of output sample value to this first storage device exceeded the storage scope of this storage device, this new input sample value or new output sample value can directly be stored to the initial address of this first storage device.
14. bank of filters as claimed in claim 10, wherein said plural equation all can be represented by following equation:
Y 0 k = ( a 0 k × X 0 k + a 1 k × X 1 k + . . . + a M k × X M k ) + ( b 1 k × Y 1 k + b 2 k × Y 2 k + . . . + b N k × Y N k ) ;
Wherein coefficient k represents that this is the equation of k filter in described a plurality of filter, X 0 kSample value, X should be newly imported in expression M kExpression is from should new input sample value starting at M input sample value reciprocal, a M kThe coefficient of representing M input of this inverse sample value, Y 0 kRepresent this new output sample value, Y N kExpression is started at N output sample value reciprocal, b from this new output sample value N kThe coefficient of representing N output sample value of this inverse.
15. bank of filters as claimed in claim 14, this arrangement mode is ... Y 1 K-1, X M+1 k, X M k..., X 2 k, X 1 k, Y N+1 k, Y N k..., Y 2 k, Y 1 k, X M+1 K+1, k is the sequence number of described a plurality of filters, this first element is X M+1 K=1, this processor should newly be imported sample value X 0 kReplace Y N+1 kWith the renewal of carrying out this new input sample value and should new output sample value Y 0 kReplace X M+1 K+1To carry out the renewal of this new output sample value, this next element is X M K=1, and this next group newly to import sample value be X -1 k
16. bank of filters as claimed in claim 14, this arrangement mode is ... X 1 K-1, Y N+1 k, Y N k..., Y 2 k, Y 1 k, X M+1 k, X M k..., X 2 k, X 1 k, Y N+1 K+1, k is the sequence number of described a plurality of filters, this first element is Y N+1 K=1, this processor should newly be imported sample value X 0 kReplace Y N+1 K+1With the renewal of carrying out this new input sample value and should new output sample value Y 0 kReplace X M+1 kTo carry out the renewal of this new output sample value, this next element is Y N K=1, and this next group newly to import sample value be X -1 k
17. bank of filters as claimed in claim 14, this arrangement mode is ... Y N+1 K-1, X 1 k, X 2 k..., X M k, X M+1 k, Y 1 k, Y 2 k..., Y N k, Y N+1 k, X 1 K+1, k is the sequence number of described a plurality of filters, this first element is Y N+1 K=1, this processor should newly be imported sample value X 0 kReplace Y N+1 K-1With the renewal of carrying out this new input sample value and should new output sample value Y 0 kReplace X M+1 kTo carry out the renewal of this new output sample value, this next element is Y N K=1, and this next group newly to import sample value be X -1 k
18. bank of filters as claimed in claim 14, this arrangement mode is ... X M K-1, Y 1 k, Y 2 k..., Y N k, Y N+1 k, X 1 k, X 2 k..., X M k, X M+1 k, Y 1 K+1, k is the sequence number of described a plurality of filters, this first element is X M+1 K=1, this processor should newly be imported sample value X 0 kReplace Y N+1 kWith the renewal of carrying out this new input sample value and should new output sample value Y 0 kReplace X M K-1To carry out the renewal of this new output sample value, this next element is X M K=1, and this next new input sample value is X -1 k
CN200610131796XA 2006-10-12 2006-10-12 Filter set and its efficiency improving method Active CN1937404B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200610131796XA CN1937404B (en) 2006-10-12 2006-10-12 Filter set and its efficiency improving method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200610131796XA CN1937404B (en) 2006-10-12 2006-10-12 Filter set and its efficiency improving method

Publications (2)

Publication Number Publication Date
CN1937404A CN1937404A (en) 2007-03-28
CN1937404B true CN1937404B (en) 2010-08-25

Family

ID=37954737

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200610131796XA Active CN1937404B (en) 2006-10-12 2006-10-12 Filter set and its efficiency improving method

Country Status (1)

Country Link
CN (1) CN1937404B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103973264B (en) * 2013-01-29 2017-02-22 中兴通讯股份有限公司 Filtering method and filter

Also Published As

Publication number Publication date
CN1937404A (en) 2007-03-28

Similar Documents

Publication Publication Date Title
CN110058883B (en) CNN acceleration method and system based on OPU
DE102020131050A1 (en) CONFIGURABLE PROCESSOR ELEMENT ARRAYS FOR IMPLEMENTING CONVOLUTIONAL NEURAL NETWORKS
CN108875077B (en) Column storage method and device of database, server and storage medium
CN108470364A (en) A kind of curve-fitting method and device
Schroeppel A two counter machine cannot calculate 2N
CN102510273B (en) Finite impulse response (FIR) filter
CN110377342B (en) Video memory processing method and device based on convolutional neural network and storage medium
CN1937404B (en) Filter set and its efficiency improving method
CN111143240B (en) Image storage method, system and terminal equipment
CN111221827B (en) Database table connection method and device based on graphic processor, computer equipment and storage medium
CN111175810B (en) Microseismic signal arrival time picking method, device, equipment and storage medium
CN104090932A (en) Content recommending method and device
US8140488B2 (en) Reducing memory required for prediction by partial matching models
GB2425860A (en) Multi-dimensional fast fourier transform
CN102231624B (en) Vector processor-oriented floating point complex number block finite impulse response (FIR) vectorization realization method
CN101879072B (en) Extraction and filtering method and device for ultrasonic imaging
US6658440B1 (en) Multi channel filtering device and method
CN105893326B (en) The device and method for realizing 65536 point FFT based on FPGA
CN111027435B (en) Identification system, device and method based on gradient lifting decision tree
CN103365822A (en) Digital signal processor and digital signal processing method
CN113043276A (en) Robot and trunk shaking suppression method and device thereof
US20020016807A1 (en) Recursive discrete fourier transformation method and recursive inverse discrete fourier transformation method
CN106557368B (en) Spark program optimization method and device
CN111026827A (en) Data service method and device for soil erosion factors and electronic equipment
CN101826002B (en) Hardware realization method of recording branch predictor

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant