Method for determining a finite impulse response filter, and associated computer program and determination system

The genetic algorithm-based method automatically adapts FIR filters to configuration changes, addressing inflexibility by optimizing filter settings for versatile computing environments, ensuring robustness and performance criteria adherence.

FR3166017A1Pending Publication Date: 2026-03-06THALES SA
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
FR2024009146
Authority / Receiving Office
FR · FR
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-27
Publication Date
2026-03-06

AI Technical Summary

Technical Problem

Existing finite impulse response (FIR) filters require manual adjustment and validation for each configuration change, making them inflexible and impractical for versatile computing environments, especially in aircraft systems where numerous configurations are supported.

Method used

A method using a genetic algorithm to automatically determine a chain of sinusoidal band-stop filters with configuration parameters, optimizing the filter settings based on objective and constraint functions to adapt to new configurations without human intervention.

Benefits of technology

Enables automatic adaptation of FIR filters to any configuration changes, ensuring high flexibility, robustness against signal disturbances, low latency, and adherence to specified performance criteria, such as quasi-Gaussian filtering and stable gain curves.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Method for determining a finite impulse response filter, and associated computer program and determination system. The present invention relates to a method for determining a finite impulse response filter, comprising the following steps: - generation (120) of a plurality of individuals with configuration parameters; - cyclic implementation (130) of the following substeps in relation to each current population of configuration parameters: evaluation (131) by an objective function of each individual; evaluation (132) by at least one constraint function of each individual; selection (133) of a group of individuals from among all the individuals based on their evaluations by the objective function and by the constraint function, and formation of the parent individuals; crossover (134) of the parent individuals to form a new population; mutation (135) of the individuals of the new population;verification (136) of a stopping criterion Figure for the abbreviation: Figure 5;
Need to check novelty before this filing date? Find Prior Art

Description

Title of the invention: Method for determining a finite impulse response filter, and associated computer program and determination system

[0001] The present invention relates to a method for determining a finite impulse response filter.

[0002] The present invention also relates to a computer program and a determination system associated with this determination method.

[0003] The technical field of the invention is that of processing analog signals, for example from different sensors, in particular avionics sensors such as position sensors.

[0004] In a manner known per se, from a sinusoidal reference signal which is sent to these sensors (often called excitation), the sensors return one or more sinusoidal signals whose amplitude is a known function of the position of the sensor.

[0005] To deduce the position of the sensor, it is therefore necessary to measure the amplitude of sinusoidal signals.

[0006] Measuring the amplitude of a sinusoid generally involves a first processing stage that transforms this sinusoidal signal into another signal comprising an oscillating part superimposed on a continuous part. The oscillating part is an undesired but unavoidable artifact, and the continuous part is proportional to the amplitude and contains the information sought.

[0007] A second processing stage is responsible for eliminating the oscillating portion while preserving the continuous portion. Measuring the isolated continuous portion is then very simple and allows access to the amplitude value.

[0008] To perform such processing, a finite impulse response (FIR) filter is generally used. This type of filter is most often used for several reasons, including its deterministic and robust nature, as well as its ability to recover from a disturbance while maintaining low latency.

[0009] A FIR-type filter is generally implemented by an onboard computer or at least connected to an interface of such a computer. The onboard computer is, for example, the flight control computer. Thus, this filter is designed for optimal operation with this computer and a particular type of signal.

[0010] The computers used to date are designed with interfaces defined at the time of their design. When a new need arises during development or a modification is necessary, the entire design generally has to be revised.

[0011] In order to reduce the size of computers while offering greater flexibility, versatile solutions must be developed that allow interfaces to be configured via software. This versatility makes it possible to reduce the number of interfaces by grouping them by type and configuring their characteristics in software.

[0012] Thus, the FIR type filter implemented by or connected to a conventional or versatile computer must also be modified to be able to meet the new requirement.

[0013] However, often such a modification of the filter cannot be done automatically and human intervention is generally necessary in the case of conventional computers.

[0014] With regard to versatile computers, to be accepted on board an aircraft, such a computer must demonstrate that it has been validated on a large number of configurations. This requirement implies that the FIR-type filter must be precisely tuned for each supported configuration, whether it concerns the computer's configurations or the signals. With such significant versatility requirements (several hundred supported configurations), manually adjusting the filter to accommodate new configurations is no longer feasible.

[0015] Thus, there is a need for greater flexibility in FIR type filters for any new configuration and this without any human intervention.

[0016] The invention therefore aims to provide means to ensure a high degree of flexibility of FIR type filters for any new configuration and this in an automatic manner.

[0017] To this end, the invention relates to a method for determining a finite impulse response filter comprising a chain of sinusoidal band-stop filters, each sinusoidal band-stop filter being determined by a set of configuration parameters, the method comprising the following steps:

[0018] - generation of a plurality of individuals exhibiting configuration parameters, the individuals forming an initial population of configuration parameters;

[0019] - cyclical implementation of the following substeps in relation to each Current population configuration parameters:

[0020] + evaluation by an objective function of each individual in the population course ;

[0021] + evaluation by at least one constraint function of each individual of the current population;

[0022] + selection of a group of individuals from among all the individuals in the population ongoing based on their evaluations by the objective function and by the constraint function, and formation of parent individuals by individuals from this group;

[0023] + crossing of parent individuals to form a new population of configuration settings;

[0024] + mutation of individuals in the new population of configuration parameters;

[0025] + verification of a stopping criterion.

[0026] According to other advantageous aspects of the invention, the method comprises one or more of the following features, taken individually or in all technically possible combinations:

[0027] - the individuals of the initial population are randomly generated within ranges of predetermined values;

[0028] - the set of configuration parameters for each sinusoidal band-stop filter includes a cutoff frequency and a spacing of this filter;

[0029] - the objective function is determined by operational parameters including at least one of the elements chosen from the group comprising:

[0030] - parameters of the signals to be processed by the finite impulse response filter;

[0031] - parameters of hardware equipment processing signals to be processed by the filter finite impulse response;

[0032] - model of the finite impulse response filter;

[0033] - specifications of the finite impulse response filter;

[0034] - business constraints;

[0035] - the objective function corresponds to the difference in the gain of the response filter finite impulse and a predetermined limit optimal gain value;

[0036] - the gain of the finite impulse response filter is determined by the gain of each sinusoidal band-stop filter and by a gain of a moving average;

[0037] - the selection substep includes the selection of individuals having smaller evaluations by the objective function than other individuals;

[0038] - the one or each constraint function is determined by parameters operational activities including at least one of the elements chosen from the group comprising:

[0039] - parameters of the signals to be processed by the finite impulse response filter;

[0040] - parameters of hardware equipment processing signals to be processed by the filter finite impulse response;

[0041] - model of the finite impulse response filter;

[0042] - specifications of the finite impulse response filter;

[0043] - business constraints;

[0044] - the constraint function(s) satisfies at least one of the chosen constraints in the group comprising:

[0045] - latency constraint;

[0046] - frequency domain template constraint;

[0047] - regular attenuation constraint in a useful band;

[0048] - constraint on a static gain;

[0049] - constraint on an impulse response;

[0050] - the formation of parent individuals includes a random selection of individuals in said group of individuals;

[0051] - the finite impulse response filter further comprises an average sliding determined by at least one configuration parameter, said configuration parameter being included in each running population of configuration parameters.

[0052] The invention also relates to a computer program comprising software instructions which, when executed by a computer, implement the process as defined above.

[0053] The invention ultimately relates to a system for determining a finite impulse response filter comprising a chain of sinusoidal band-stop filters, including technical means configured to implement the method as defined above.

[0054] The invention will become clearer upon reading the following description, given solely by way of non-limiting example, and made with reference to the drawings in which:

[0055] - [Fig. 1] [Fig. 1] is a view of a signal acquisition architecture analog devices including a filtering device;

[0056] - [Fig.2] [Fig.2] is a detailed view of the filtering device of [Fig.1], the filtering device comprising a filtering unit configured to implement a finite impulse response filter;

[0057] - [Fig.3] [Fig.3] is a schematic view of the finite impulse response filter implemented by the filtering unit of [Fig.2];

[0058] - [Fig.4] [Fig.4] is a schematic view of a filter determination device of the [Fig.3];

[0059] - [Fig. 5] [Fig. 5] is a flowchart of a determination process according to the invention, the method being implemented by the device in [Fig. 4]; and

[0060] - [Fig.6] [Fig.7] [Fig.8] [Fig.9] Figures 6 to 8 are different illustrations of the implementation of at least some of the steps of the process of [Fig.5].

[0061] Figure 1 illustrates an analog signal acquisition architecture 10, usable for example in the avionics field. This architecture 10 makes it possible to convert analog signals into digital signals and to transmit these to one or more avionics applications.

[0062] According to other embodiments, the acquisition architecture 10 is usable in any other field implementing a conversion of analog signals into digital signals.

[0063] With reference to [Fig.1], the acquisition architecture 10 comprises a set of sensors 10-1,...,10-N, a set of signal conditioners 20-1,...,20-N, an analog-to-digital converter 30, a filtering device 40 and one or more software programs 50.

[0064] The sensors 10⁻¹, ..., 10⁻¹N are of a number N (N>0) and are, for example, avionics sensors of the same or different types. Each sensor 10⁻¹, ..., 10⁻¹N is configured more specifically to measure at least one physical quantity or to receive external signals, and to generate analog signals from this measurement or from external signals. Thus, each sensor 10⁻¹, ..., 10⁻¹N corresponds, for example, to a position, pressure, speed, or temperature sensor, or, for example, to a GNSS (Global Navigation Satellite Systems) signal sensor or any other signal related to the aircraft's position.When it comes to a position sensor, it can correspond to an electromagnetic sensor, for example a linear sensor of the LVDT type (from the English "Linear Variable Differential Transformer"), a rotary sensor of the RVDT type (from the English "Rotary Variable Differential Transformer"), a rotary resolver sensor or even, a rotary sensor of the SYNCHRO type.

[0065] Signal conditioners 20-1,...,20-N, the number of which depends on the number of sensors 10-1,...,10-N, are connected to the latter and allow, for example, the amplification and / or shaping of the analog signals acquired by these sensors 10-1,...,10-N. Advantageously, the conditioners 20-1,...,20-N are numbered N, just like the sensors 10-1,...,10-N. Thus, each conditioner 20-1,...,20-N is connected to a respective sensor 10-1,...,10-N.

[0066] The analog-to-digital converter 30 is connected to the set of signal conditioners 20-1,...,20-N and allows the analog signals from the conditioners 20-1,...,20-N to be converted into digital signals. Such a converter 30 is known, for example, by the abbreviation "ADC" (from the English "Analog to Digital Converter").

[0067] The software 50, for example, presents an avionics application connected to the filtering device 40. Such software 50 is configured to receive digital signals from this filtering device 40 and to process them according to the nature of the sensor 10⁻¹, ..., 10⁻¹N corresponding to these signals. For example, such software 50 is configured to deduce the position of a moving element of the aircraft from the acquired signals from one or more position sensors, and to display and / or communicate this position and / or speed to any interested system. the aircraft. The software 50 is implemented by an on-board computer, such as, for example, a flight control computer, known in itself.

[0068] The filtering device 40 is illustrated in more detail in [Fig. 2]. This filtering device 40 is, for example, implemented at least partially, advantageously entirely, in the form of one or more programmable logic circuits such as FPGAs (Field Programmable Gate Arrays) or a pcontroller. Alternatively, this filtering device 40 is implemented at least partially in the form of one or more software programs. In this case, these programs are stored in suitable memory and are executable by one or more processors.

[0069] With reference to [Fig.2], the filtering device 40 comprises an input module 71, a processing module 72 and an output module 73.

[0070] The input module 71 allows the digital signals converted by the analog-to-digital converter 30 to be received.

[0071] The processing module 72 allows the converted digital signals to be processed in order to eliminate their time-varying part. In particular, to do this, the processing module 72 includes a low-pass filtering unit 74 configured to apply a sinusoidal band-stop filter and more particularly, a finite impulse response filter, also called a FIR (Finite Impulse Response) type filter.

[0072] Finally, the output module 73 allows the signals processed by the processing module 72 to be transmitted to one or more software 50.

[0073] As illustrated in this [Fig.3], the FIR type filter F comprises a series of Ns sinusoidal band-stop filters advantageously terminated by a moving average filter MA.

[0074] By "chaining of Ns filters" is meant a chained application of these filters such that each subsequent filter (except the first filter) is applied to the output of the preceding filter. The first filter is applied to the initial function. The moving average is applied to the output of the filter.

[0075] By "sinusoidal band-stop filter" also called CBS filter, we mean a digital FIR type filter whose gain curve as a function of frequency is a sinusoidal function of the frequency.

[0076] More particularly, in the case of a sinusoidal band-stop filter, its gain curve H^f) is a sinusoidal function of the frequency.

[0077] Each CBS filter is determined by a set of configuration parameters.

[0078] These configuration parameters can take different forms, such as cutoff frequencies, filter coefficients, damping factors, etc.

[0079] Advantageously, in the example described below, the configuration parameters of each CBS filter Fi include a cutoff frequency fc. and a spacing ei of that filter.

[0080] The moving average MA is also determined by a set of configuration parameters including at least one configuration parameter, for example its horizon htna.

[0081] Thus, in the example described below, the total number Np of configuration parameters of the filter F is equal to ^Ns + 1.

[0082] Furthermore, each CBS filter Fj is determined by a filter model defining its gain function f) and its impulse response

[0083] These functions are chosen, for example, as follows:

[0084] i

[0085] , r. , 2cos(2.t / e;r). t 1 t W 1 = <5 [ » ] - 2-2^2^ / ^1^ [ n ' ei ] + & n ~ 2¾]

[0086] where:

[0087] Ts is the sampling period.

[0088] Furthermore, the gain function ) for the moving average MA is chosen as follows:

[0089] n { i ) - hma ^rfT, •

[0090] Thus, the gain \H(f) | of the filter F in the frequency domain is expressed as follows:

[0091] I 1 \ / 1 \ 1 . / / 1 / | hlna l-eV-Vr l-cos(2r / ,e / 's} /

[0092] Figure 4 illustrates a determination device 80 for determining the filter F of type FIR, as illustrated in [Fig.3]. In particular, the determination device 80 allows the configuration parameters of each CBS filter and the MA moving average to be determined, as will be explained in more detail later.

[0093] The determination device 80 is, for example, implemented at least partially in the form of one or more programmable logic circuits such as FPGAs (Field Programmable Gate Arrays). Alternatively, this determination device 80 is implemented at least partially in the form of one or more software programs. In this case, these programs are stored in suitable memory and are executable by one or more processors.

[0094] With reference to [Fig.4], the determination device 80 comprises an input module 81, a processing module 82 and an output module 83.

[0095] The input module 81 receives operational parameters to adapt the FIR-type filter F to its operating environment. These operational parameters are, for example, taken from a database 85 and include at least one of the elements selected from the group comprising:

[0096] - parameters of the signals to be processed by the finite impulse response filter;

[0097] - parameters of hardware equipment processing signals to be processed by the filter finite impulse response;

[0098] - model of the finite impulse response filter;

[0099] - specifications of the finite impulse response filter;

[0100] - business constraints.

[0101] The parameters of the signals to be processed include, for example, an excitation frequency f, a harmonic frequency fh, and a noise level G^f of these signals. These parameters are determined, for example, according to the nature of the sensors 10-1, ..., 10-N and the nature of the signals generated by these sensors.

[0102] Hardware equipment parameters include, in particular, parameters of the conditioners 20-1, ..., 20-N, of the analog-to-digital converter 30 and / or of the computer implementing the software 50. These parameters include, for example, the sampling period Ts and / or the quantization method (', of the analog-to-digital converter 30.

[0103] The filter model includes a definition of the gain functions Hj(f) and impulse response as defined previously.

[0104] The filter specifications include in particular a bandwidth Gmin(f), a maximum latency ômax, a minimum filtering quality required at high frequency Gmaif\ etc.

[0105] The business constraints are for example related to the field of use of the F filter and in particular of the 10-1, ..., 10-N sensors. For the aeronautical field, it may for example be a quasi-Gaussian impulse response, a regular impulse response, a regular frequency response in the signal bandwidth, etc.

[0106] The processing module 82 allows the processing of all operational parameters to determine the configuration parameters, by implementing at least some of the steps of a determination process which will be explained in detail later.

[0107] Finally, the output module 83 allows the FIR type filter F to be transmitted, and in particular the configuration parameters of this filter, to any interested system and in particular to the processing module 72 of the filtering device 40 implementing the filtering of digital signals converted by the analog-to-digital converter 30.

[0108] The determination process implemented by the determination device 80 will henceforth be explained with reference to [Fig.5] illustrating a flowchart of its steps.

[0109] During an initial step 110, the input module 81 receives the operational parameters as defined above or an update of these parameters. This can, for example, be done at the request of the filtering device 40 following a configuration change in its environment.

[0110] Then, the input module 81 transmits the received operational parameters to the processing module 82.

[0111] Then, the processing module 82 implements a genetic algorithm in the following steps to determine the configuration parameters of the filter F.

[0112] In particular, during step 120, the processing module 82 generates a plurality of individuals with configuration parameters. These individuals then form an initial population.

[0113] For example, each individual has the configuration parameter sets of the CBS Fj filter set and the MA moving average.

[0114] Advantageously, each individual is chosen randomly from a predetermined range of values. This range of values ​​can, for example, be predetermined based on at least some operational parameters.

[0115] Alternatively, in the event of an update of the filter F, each individual corresponds to the configuration parameter sets of the CBS F{ filter set and the MA moving average, determined previously.

[0116] In the next step 130, the processing module 82 cyclically implements substeps 131 to 136 in relation to each current population of configuration parameters. Initially, the current population corresponds to the initial population determined in step 120.

[0117] During substep 131, the processing module evaluates an objective function of each individual in the current population.

[0118] In particular, the objective function makes it possible to associate with each individual a value, also called a score, which allows us to characterize the ability of that individual to survive.

[0119] Advantageously, in relation to the same individual, the objective function is calculated only once when that individual passes to the next generation.

[0120] According to the invention, the optimization problem determining the choice of the objective function is reduced to an area problem between the gain curve of the filter F in the frequency domain and a limiting optimal gain value corresponding to the level of noise G^f) of the signals to be processed, for a frequency band J. The objective of the optimization problem is then to minimize this area.

[0121] This choice was made based on the desire to favor a filter that is generally close to the optimal gain curve in order to achieve good noise performance. The area is a good way to weight this overall optimization to reject noise present across the entire spectrum.

[0122] Attempting to attenuate high frequencies beyond the optimal gain limit does not offer any additional benefit because the disturbances to be eliminated are not of that order. The optimal gain limit is thus defined as the value that eliminates all plausible disturbances.

[0123] Accordingly, the objective function used is / • / \ : J l\X!

[0124] A , । * , . / ,(^)=^(1^( / )1-0,( / ))^ /

[0125] where:

[0126] (!«( / )!, |H( / )|> G,( / )

[0127] The function | H (f) | then corresponds to the gain of the filter F as defined previously.

[0128] Figure 6 illustrates the frequency response G to the different excitation frequencies fex of the FIR-type filter F, which is represented by a solid black line. Here, the limiting optimal gain target, represented by a dashed black line, is a constant Gs(f) = 10⁴ over the frequency band [f 1]. The hatched region delimits the space where Hex* Jmaxl The optimization algorithm strives to keep the gain curve below the target value. The objective function represents the evaluation of the densely shaded area.

[0129] During substep 132, the processing module 82 evaluates each individual in the current population by at least one constraint function, advantageously by several constraint functions.

[0130] In particular, during this step, several constraint functions are applied in order to label the individuals (i.e. sets of configuration parameters) to distinguish the individuals that comply with the filter specification from those that do not.

[0131] For example, an individual that meets all the constraint functions is labeled as a "feasible solution". An individual that does not meet at least one constraint function is labeled as an "unfeasible solution".

[0132] Constraint functions are, for example, written in the form of an inequality. A constraint function is not satisfied if its evaluation on the individual The corresponding function gives a strictly positive result. Otherwise, this constraint function is satisfied.

[0133] Advantageously, according to the invention, a constraint function can be added or eliminated depending on the specification of the filter F to be obtained.

[0134] Furthermore, advantageously, each constraint function is determined at least partially as a function of the operational parameters.

[0135] Below are given some examples of constraint functions.

[0136] In particular, according to this example, the constraint function(s) satisfies one of constraints chosen within the group including:

[0137] - latency constraint;

[0138] - template constraint in the frequency domain;

[0139] - regular attenuation constraint in a useful band;

[0140] - constraint on a static gain;

[0141] - constraint on an impulse response.

[0142] The latency constraint can be expressed in different forms depending on the specification of the filter F. For example, as an intrinsic delay of the filter (i.e., the x-coordinate of the center of gravity of the weighting function) or as a delay of the filter's time response relative to a ramp. Other expressions of latency can easily be incorporated as constraints in the algorithm. Two examples are detailed below for illustrative purposes.

[0143] A first example concerns a constraint on the intrinsic delay of the filter.

[0144] According to this example, the intrinsic delay of the filter must not exceed the maximum allowed latency of the filter Ô^x. Therefore, all filters with a delay strictly greater than dmax are rejected. The constraint can be defined as follows: 101451 g,(x) =^(^+^,-0.5)-0^.50.

[0146] A second example concerns a constraint on the delay of the time response of the filter has a ramp.

[0147] According to this example, the delay of the time response of the filter to a ramp must not exceed the maximum allowable latency of the filter ômax. Since the filter is sampled at a period Ts, the delay is measured as the difference between the midpoint sample of the excitation nexc and the midpoint sample of the time response nreP.

[0148] The ramp excursion is taken between 0V and 10V (these values ​​are configurable according to the filter specification). Since the filter has unity gain, the time response ramp has the same excursion range as the excitation. Thus, the mid-excursion voltage value is 5V, and the sample closest to this value is noted

[0149] Consequently, all filters with a delay strictly greater than ôrnax are rejected. The constraint can be defined as follows:

[0150] ^2(x) = Ts(nrep-nexc)-ômax <Q.

[0151] The application of this constraint is illustrated in the graph in Figure 7, where the S-axis represents the number of samples and the V-axis represents the amplitude (in volts) of the signals. In this graph, the dashed line corresponds to the amplitude of the excitation ramp and the solid line corresponds to the amplitude of the filter's response to the excitation ramp. Furthermore, the points on the graph correspond to the midpoint samples of the excitation n'xc and the midpoint samples of the time response rireP.

[0152] The frequency domain template constraint allows one or more constraints to be included so that the filter gain curve lies entirely below a curve (denoted G^f) (P31 example) in the frequency domain. This constraint is written as follows on the frequency band [: C 1' J 2. 101531 g3(x) = \Hl(f)\-Gl(f-)i0. V / e[ / r4

[0154] This allows us to define a frequency band to be eliminated.

[0155] It is also possible to include one or more constraints so that the filter gain curve lies entirely above a curve (denoted G^f) (P31 example) in the frequency domain. This constraint is written as follows over the frequency band [y yp 101561 g4O-)=G,( / )-|H ; ( / )|<0. V / e[ / y / J

[0157] This allows us to define a frequency band to be preserved.

[0158] Thus, by combining constraints of type £3 and / or type 84, all templates can be represented in the solution exploration algorithm. It is therefore easy to constrain the exploration of solution filters according to the specified need (e.g., bandwidth, sharp cutoffs on certain parts of the spectrum depending on disturbances to be rejected, harmonic elimination, etc.).

[0159] Figure 8 illustrates a graphical representation of the constraint function of type £3. In this figure, the frequency response G of the filter F is represented by a solid black line. The maximum gain curve is represented by a dashed black line. Here, in this simplified version for illustrative purposes, Gj is a constant, i.e., G(f) = 10³ over the frequency band F £p₁. The hatched region 1^ ' [y ex" J delimits the space where the optimization algorithm requires the gain curve to be kept below.

[0160] The constraint of regular attenuation within a useful band makes it possible to avoid singularities in the low-frequency part of the spectrum. In particular, a singularity in the filter means that certain input stimuli (i.e., sensor movements or signal perturbations) will produce results very different from neighboring stimuli. It is generally desirable to avoid such singularities, especially in the aeronautical field.

[0161] The filter also needs to be constrained within the useful band so that it has a regular attenuation. In the case of using filter F, the low frequencies correspond to the frequency band of the sensor's movements. In this area, the gain curve must be perfectly controlled and smooth. Given that it must be decreasing, a monotonicity constraint is expressed as follows:

[0162]

[0163] where df designates a step to be adjusted according to the required precision.

[0164] Figure 9 illustrates a graphical representation of the stress function of the type^s. On this representation, the hatched area represents the area in which the frequency response must be strictly decreasing.

[0165] The constraint on a static gain of a CBS filter is expressed as follows:

[0166] \^0i{f)\-2-2c.os(17Tfce,Tsy G [1, ...,2V]

[0167] To prevent the filter gain from exploding if one of the filters Fi has the denominator of its static gain close to 0, it is necessary to restrict the value of the static gains for each of the stages. Thus, each of the static gains must be below a certain value Gn'Jmax

[0168] The constraint can be implemented as follows:

[0169] v H, Go gAx)-E. where 5,- J=i 1 1 l 0, otherwise

[0170] The constraint on an impulse response is explained by the fact that the filter F must have an impulse response of a particular shape, for example of Gaussian shape, to achieve the performance objectives.

[0171] However, depending on the chain settings, the combination of different CBS filters does not automatically lead to a quasi-Gaussian impulse response. Furthermore, the combination of sinusoidal filters may potentially create these singularities.

[0172] Hence the presence in the substep of a monotonicity constraint on the impulse response. The combination of this constraint with that of proximity to a normally distributed Gaussian makes it possible to avoid all plausible singularities.

[0173] The monotonicity constraint of the impulse response makes it possible to achieve the objective that the first half of the impulse response is strictly increasing and that the second half is strictly decreasing.

[0174] This constraint is expressed as follows:

[0175] ([$n]-h[n + ï]~\<0, Vme[o, [^J] ^ / (^)-। rr n- - ii 1 [ 1] -h[n] 1 <0, V «e [ | yr |, nir-1 d

[0176] where nîr represents the number of points in the impulse response.

[0177] The constraint £7, as expressed, counts the number of points that do not respect monotonicity. If monotonicity is respected, g7(x) = 0 and the solution filter is accepted (i.e., labeled as feasible). Otherwise, g7(x) > 1 and the solution filter is labeled as infeasible.

[0178] The proximity constraint to a desired curve (for example Gaussian) is expressed as follows:

[0179] ss(x)=^„.(rrfi)2<0

[0180] where

[0181] - R^ corresponds to the smallest acceptable value of a coefficient of variation R², ranging from 0 to 1, corresponds to a statistical measure of the accuracy with which regression predictions approximate observed values. R² - 1 indicates that the prediction perfectly matches reality (in other words, that the observed data correspond to the measured data).

[0182] - rxy corresponds to a squared Pearson correlation coefficient (PCC). The PCC The PCC measures the linear correlation between two sets of data. It represents the ratio between the covariance of two variables and the product of their standard deviations. In other words, it is a normalized measure of covariance. The PCC can be expressed as follows:

[0183]

[0184] where n is the sample size.

[0185] - h and h define a Gaussian model fitted to the impulse response as follows:

[0186] 7i , ( (w? j «[«] =aexp(--yr /

[0187] where a - max( / zï „ _ and <7 = -4= • E(h)

[0188] During substep 133, the processing module 82 selects a group of individuals from the set of individuals in the current population based on their evaluations by the objective function and by each constraint function.

[0189] In particular, individuals with both types of label (i.e., "feasible solution" and "unfeasible solution") can be selected. Depending on the current iteration of the substep, the proportion of selected individuals labeled as "unfeasible solution" can gradually decrease until it reaches 0. Thus, in the later iterations, only individuals labeled as "feasible solution" can be selected. This may be necessary because, in the early generations, the proportion of unfeasible individuals in the population is still very high.

[0190] Then, the individuals are ranked in ascending order of the corresponding objective function values, and the first M individuals are retained. The number M is, for example, a parameter of the process. In other words, during this substep, only the individuals with the smallest objective function values ​​(i.e., the lowest scores and therefore the best-fit individuals) are chosen.

[0191] Then, from among all the individuals retained, the processing module 82 chooses a subset to form parent individuals. This subset is chosen, for example, randomly.

[0192] During substep 134, the processing module 82 applies a crossover operator to the parent individuals to generate one or more children.

[0193] This crossover operator can take different forms. For example, it is possible to choose the operator known in English as "Simulated Binary Crossover" (SBX).

[0194] During substep 135, the processing module 82 applies a mutation operator to each child created during the previous substep.

[0195] This mutation operator can also take different forms. For example, it is possible to choose a polynomial distribution operator (“Polynomial Mutation” in English).

[0196] During substep 136, the processing module 82 checks a stopping criterion and when this is met, stops the execution of step 130.

[0197] The stopping criterion varies depending on the complexity of the algorithm to converge in order to guarantee quality results.

[0198] An example of a stopping condition may be after a certain number of generations or depending on the value of the objective function. For example, when the gain \H( f ) | of the filter F is entirely below the threshold Gs(f\ , the stopping criterion is met.

[0199] Advantageously, the stopping criterion can only be met on a solution labeled as feasible.

[0200] In the next step 140, the output module 83 transmits the determined filter, and in particular the configuration parameters of this filter, to any interested system, such as the processing module 72 of the filtering device 40. The filtering device 40 can thus implement filtering of signals from sensors 10-1, 10-N.

[0201] It is therefore understood that the present invention has a number of advantages.

[0202] First, the method according to the invention makes it possible to determine a FIR type filter automatically and adapt it to any changes in the environment in which this filter operates.

[0203] Thus, the filter can be used by versatile computers and can be easily adapted to any change that may occur in such a computer.

[0204] According to various application examples of the invention, the filter obtained by the determination process according to the invention meets the following criteria, in accordance with the filter specification for each of the possible configurations: - excellent filtering performance thanks to quasi-Gaussian filtering ensured by respecting the templates of the gain curve in the frequency domain and the impulse response of the filter; - low latency with respect to the intrinsic delay of the filter and the delay of the time response to a ramp; - high robustness against sensor signal disturbances (noise, harmonics, crosstalk...); - high robustness against uncertainty on the main frequency of the sensor; - high robustness with regard to the quantification of coefficients on the calculator; - stability of the cascaded filter guaranteed by limiting the static gain value of each stage.

[0205] Of course, many other examples of embodiment of the invention are also possible.

Claims

Demands

1. A method for determining a finite impulse response filter comprising a chain of sinusoidal bandstop filters, each sinusoidal bandstop filter being determined by a set of configuration parameters, the method comprising the following steps: - generation (120) of a plurality of individuals having configuration parameters, the individuals forming an initial population of configuration parameters; - cyclic implementation (130) of the following substeps in relation to each current population of configuration parameters: + evaluation (131) by an objective function of each individual of the current population; + evaluation (132) by at least one constraint function of each individual of the current population;+ selection (133) of a group of individuals from the set of individuals in the current population according to their evaluations by the objective function and by the constraint function, and formation of parent individuals from individuals from this group; + crossover (134) of the parent individuals to form a new population of configuration parameters; + mutation (135) of the individuals of the new population of configuration parameters; + verification (136) of a stopping criterion.

2. A method according to claim 1, wherein the individuals of the initial population are randomly generated within predetermined ranges of values.

3. A method according to claim 1 or 2, wherein the configuration parameter set of each sinusoidal bandstop filter includes a cutoff frequency and a spacing of that filter.

4. A method according to any one of the preceding claims, wherein the objective function is determined by operational parameters comprising at least one of the elements selected from the group comprising: - parameters of the signals to be processed by the finite impulse response filter; - parameters of hardware equipment processing signals to be processed by the finite impulse response filter; - model of the finite impulse response filter; - specifications of the finite impulse response filter; - business constraints.

5. A method according to any one of the preceding claims, wherein the objective function corresponds to the difference between the gain of the finite impulse response filter and a predetermined limiting optimal gain value.

6. A method according to claim 5, wherein the gain of the finite impulse response filter is determined by the gain of each sinusoidal bandstop filter and by a gain of a moving average.

7. A method according to claim 5 or 6, wherein the selection substep (133) comprises selecting individuals having smaller evaluations by the objective function than other individuals.

8. A method according to any one of the preceding claims, wherein the constraint function or each constraint function is determined by operational parameters comprising at least one of the elements selected from the group comprising: - parameters of the signals to be processed by the finite impulse response filter; - parameters of hardware equipment processing signals to be processed by the finite impulse response filter; - model of the finite impulse response filter; - specifications of the finite impulse response filter; - business constraints.

9. A method according to any one of the preceding claims, wherein the constraint function or each constraint function satisfies at least one of the constraints selected from the group comprising: - latency constraint; - template constraint in the frequency domain; - regular attenuation constraint in a useful band; - constraint on a static gain; - constraint on an impulse response.

10. A method according to any one of the preceding claims, wherein the formation of parent individuals comprises a random selection of individuals from said group of individuals.

11. A method according to any one of the preceding claims, wherein the finite impulse response filter further comprises a moving average determined by at least one configuration parameter, said configuration parameter being included in each running population of configuration parameters.

12. A computer program comprising software instructions which, when executed by a computer, implement a method according to any one of the preceding claims.

13. A system for determining (80) a finite impulse response filter comprising a chain of sinusoidal bandstop filters, comprising technical means (81, 82, 83) configured to implement the method according to any one of the preceding claims.

Citation Information

Patent Citations

  • Digital filtering device and method for measuring surface height of silicon wafer

    CN114614796A

  • Optimal Factoring of FIR Filters

    US20150236669A1