# Patent

## Title
Method and device for filtering during a change in an ARMA filter

## Abstract

A method and device are provided for filtering digital audio signals using at least one ARMA filter, particularly during a filter change. The method includes the following steps: a step of receiving a first request to change filtering to or from filtering by a first ARMA filter; and, in response to the first request, a step of gradually switching, at each of a plurality of cascaded first filtering blocks, between digital-signal filtering by a first basic filtering cell and digital-signal filtering by another associated basic filtering cell, the first basic filtering cells of the plurality of first filtering blocks factorizing the first filter.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This Application is a Section 371 National Stage Application of International Application No. PCT/FR2012/050526, filed Mar. 14, 2012, which is incorporated by reference in its entirety and published as WO 2012/123676 on Sep. 20, 2012, not in English.
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
None.
THE NAMES OF PARTIES TO A JOINT RESEARCH AGREEMENT
None.
FIELD OF THE DISCLOSURE
The present invention relates to a process for filtering digital signals by means of at least one autoregressive moving averaged filter, otherwise known as ARMA (Auto-Regressive Moving Averaged) and a corresponding device.
It focuses especially on filtering during modification of the ARMA filter over time (switching off or activation for example) or during a change of ARMA filter.
A main field of application is that of digital audio signals.
BACKGROUND OF THE DISCLOSURE
As is known per se, a linear ARMA filter can be represented in the form of a transfer function H(z), in a field of z-transforms linking the input signal X(z) and the filtered output signal Y(z) by:




  
    Y
    ⁡
    
      (
      z
      )
    
  
  =
  
    
      
        H
        ⁡
        
          (
          z
          )
        
      
      ·
      
        X
        ⁡
        
          (
          z
          )
        
      
    
    =
    
      
        
          
            
              b
              1
            
            +
            
              
                b
                2
              
              ·
              
                z
                
                  -
                  1
                
              
            
            +
            ...
            +
            
              
                n
                
                  n
                  +
                  1
                
              
              ·
              
                z
                
                  -
                  n
                
              
            
          
          
            
              a
              1
            
            +
            
              
                a
                2
              
              ·
              
                z
                
                  -
                  1
                
              
            
            +
            ...
            +
            
              
                a
                
                  m
                  +
                  1
                
              
              ·
              
                z
                
                  -
                  m
                
              
            
          
        
        ·
        
          X
          ⁡
          
            (
            z
            )
          
        
      
      =
      
        
          
            B
            ⁡
            
              (
              z
              )
            
          
          
            A
            ⁡
            
              (
              z
              )
            
          
        
        ·
        
          
            X
            ⁡
            
              (
              z
              )
            
          
          .
        
      
    
  




The polynomial B(z) defines the moving average part (or Moving Average MA) of the ARMA filter, and the polynomial A(z) defines the autoregressive part (AR) of the ARMA filter.
Finite impulse filters (FIR) correspond in the event where the degree m of the polynomial A is zero.
Infinite impulse filters (IIR) correspond in the event where the degree m of the polynomial A is non-zero.
Because ARMA filters vary over time, and IIR filters in particular, they are used for example in sound-editing software for dynamically changing effect (multi-band equalisers, audio effects, etc.), in synthesis solutions (vocal and other) or in processing involving pickup or restoration of sound (reduction or cancellation of noises, whereof the characteristics vary over time).
Modification over time of ARMA filters, and more particularly of IIR filters, does however have disadvantages, mainly with the appearance of transitory artefacts during filter change. These artefacts manifest for example in the form of audio “clicks” particularly unpleasant to hear, and are for example associated with initialisation of internal memories of a new IIR filter to be activated, with dephasing introduced by the current ARMA filter to be switched off, and with potential differences in overall delay (group delay) of the above filters.
Hereinbelow, the description will concentrate mainly on the case of filters of IIR type, linear in particular. In fact, infinite impulse response filters are those for which a filter change conventionally generates the most artefacts. Also, linear filters prove to be much more widespread and studied than non-linear filters. In this way, the explanations hereinbelow could be applied directly in a wide range of classic situations.
Nevertheless, it is understood that the invention can apply to any type of ARMA filter, linear or non-linear, and especially in the case of Volterra filters which are non-linear polynomial filters. The theory of so-called polynomial “Volterra” filters is especially documented in the publication “The Volterra and Wiener theories of nonlinear Systems” (Schetzen, 1989, Ed. Krieger).
Different solutions have already been brought up in techniques of the prior art for trying to limit, or even cancel, the transitory effects linked to internal memories of these IIR filters.
One approach, illustrated by the publication “Elimination of transients in adaptive filters with application to speech coding” by Zetterberg, L. H. and Q. Zhang (1988), is based on initialisation of variables of internal state in internal memories of the new IIR filter to be activated.
For correct initialisation, a sufficient number of samples preceding the moment of IIR filter change is stored, then all these samples are filtered by the new IIR filter. Once initialised, the new IIR filter is applied to the signal.
The authors of this publication have shown that, contrary to theory, it is possible to be content with a reduced number of samples for executing this initialisation, despite the infinite character of the impulse responses of these filters. This number depends directly on the “length of the impulse response” of the new filter, a notion defined by the LONG first samples accounting for x % of the total energy of the filter (the percentage x being determined empirically and according to applications), in the case of a stable IIR filter whereof the impulse response tail tends to 0.
This approach however suffers from complexity and/or latency.
In fact, initialisation of internal variables of the new IIR filter requires filtering of a number of samples N which depends on the LONG length of the impulse response of the filter: in general, it is necessary for N>LONG to avoid any audible artefact.
Given this constraint, two options for execution are considered:

    
    
        either the internal variables are initialised at the time of IIR filter change, requiring N+1 samples to be filtered: the N samples preceding the current sample and the current sample, though this generates a substantial complexity peak at the instant t of the IIR filter change;
        or parallel filtering is carried out with the two filters: the switching between the two filters is done after N samples. This option involves latency of N samples before application of the new IIR filter, meaning that the new filter is applied at the end of these N samples only. The result is a significant hindrance if the aim is to apply the new IIR filter to the signal (for example for cancelling a particular signal) as fast as possible or again change IIR filter before the end of the N samples.
    
    


These disadvantages are also there in the case of simple deactivation (switching off) of the current IIR filter (in this case, the “new filter” can be seen as an “identity filter” letting everything pass through), since the current IIR filter introduces dephasing in the filtered signal, the origin of audio “clicks” when the filter is switched off suddenly.
Finally, this approach fails to protect against differences in delay (group delay) between the two IIR filters: if the two filters have a different group delay, this inevitably becomes an audible artefact (‘click’ type) linked to discontinuity of the signal.
A hybrid approach has also been covered in the publication “A modified-superposition speech synthesizer and its applications” by Verhelst, W. and P. Nilens (1986).
This approach uses a “vanishing technique” consisting of instantiating the two IIR filters in parallel at the time of switching from one filter to the other, with the following configuration: the new IIR filter, non-initialised, receives the signal to be filtered whereas the former IIR filter “switches off” (by vanishing) and receives no input.
The filtered output is constituted by the sum of the outputs of each of the two IIR filters, a sum formed during a limited period N. In practice, the “interpolation” time N (the duration of mixing of the outputs) necessary for having no audio artefact is greater than the LONG lengths of the impulse responses of the two IIR filters.
This hybrid approach relates to the second execution option mentioned hereinabove for the approach with initialisation of internal memories. In fact, use is also made of two IIR filters operating in parallel.
The difference however is in the instantaneous transition between the two IIR filters, made possible due to mixing the two outputs (rather than switching instantaneously from an output of one filter to the other after a certain time in the second option hereinabove). This limits the artefacts linked to differences in group delay between the IIR filters.
However, this hybrid approach also suffers from other disadvantages mentioned previously, and especially from latency due to the interpolation duration which must remain greater than the LONG effective length of the impulse response of the IIR filters.
SUMMARY
For this purpose, the invention relates especially to a filtering process of a digital signal by means of at least one ARMA filter, comprising a receiving step of a first request for filtering change to or from filtering by a first IIR filter, characterised in that it comprises, in response to said first request, a progressive switching step, at the level of each of a plurality of cascaded first filtering blocks, between digital signal filtering by a first elementary filtering cell originating from factorisation of the first filter and digital signal filtering by another associated elementary filtering cell, and
wherein all of said first elementary filtering cells of the plurality of first filtering blocks factorise said first ARMA filter.
In particular, progressive switching can allow reverse navigating between the first elementary cells and the other elementary filtering cells for example for moving from filtering only by the first ARMA filter or RM (that is, by the first elementary cells) to filtering by the other elementary cells (using for example another ARMA filter or IIR or an identity filter representative of the absence of filtering).
The factorisation of an ARMA filter, and especially IIR, extends from breakdown of the filter to elementary filtering cells whereof all the transfer functions correspond to factorisation of the transfer function of said ARMA filter.
Progressive filtering switching extends from one filtering pass to another, during which the two filtering events are executed together and combined at least temporarily, that is, for a non-zero instant (corresponding, in a processing technique of a digital signal, to at least one sample). In other terms, during this progressive switching phase the two filtering events contribute in part to the output value of the filtered signal by a filtering block.
The present invention offers performances improved relative to techniques of the prior art, and especially reduced latency, due in particular to clearly reduced initialisation time of the internal variables or phasing time of the filters. In fact, in the first case, the interpolation duration necessary for avoiding audio artefacts itself is reduced.
This situation results from carrying out, according to the invention, factorisation of the ARMA filter or ARMA filters (or IIR) used in a plurality of elementary filtering cells within filtering blocks, and a control, at the level of each of the latter, of switching between filters.
In fact, due to factorisation, the MA and AR filters of the elementary filtering cells are of orders less than the corresponding MA and AR filters of the original ARMA filter (that is, the corresponding polynomials A and B in the transfer functions are of lesser degrees). The initialisation time of the internal variables of filters of inferior order is clearly shorter than that of a complete ARMA filter. The reduced initialisation time is obtained by progressive filtering switching at the level of each of the elementary filtering cells (of inferior order) during activation of the corresponding ARMA filter.
The same applies during simple switching off of the current ARMA filter.
The present invention enables increased reactivity, for example when a new filter must be instantiated rapidly in response to an unforeseen acoustic event. This is especially the case when the aim is to cancel a signal which appears suddenly (a pure sound, a multifrequency signal with two tonalities or DTMF, etc.) and/or whereof the temporal/spectral characteristics vary rapidly over time.
It shall be noted that dynamic switching from or to an ARMA filter can thus be done instantaneously by applying a switching operation to the output of each elementary filtering cell which then serves as input of the following elementary cell (due to the cascading of said first filtering blocks).
Also, due to faster initialisation, any peak in complexity at the instant the switching linked to the simultaneous instantiation of two filters is clearly reduced.
During progress from the state wherein the digital signal is filtered before switching (therefore either only by the first elementary filtering cells factorising the first ARMA filter, or by the other elementary cells representing another filter, “identity” or not) to the state wherein the digital signal is filtered after switching (therefore by the other elementary cells or by the first elementary cells), the filtered output signal of each filtering block combines a signal filtered by the first elementary cell and a signal filtered by the other associated elementary cell. For example, progressive switching at the level of a first filtering block comprises the combination, at least temporary, of a filtered signal by the first elementary filtering cell with a filtered signal by the other associated elementary filtering cell to produce a mixed output signal of filtering block during progressive switching.
In other words, the signals filtered by a first elementary cell and by the elementary cells with which is associated are mixed, that is, combined within the same filtered signal. Mixing guarantees smoothing of the transition between the filtering states, and consequently contributes to attenuation, or even cancelling, of audible artefacts during such transition.
Therefore, a filtering block can employ an adder (or mixer) which adds contributions resulting from the filtering outputs of the two elementary cells of the block. As will become evident hereinbelow, the switching control means can be varied, for example by varying the contributions of each elementary cell by application of a progressive switching coefficient to their output signal, or by acting directly on the input signal of these elementary cells or by application of a similar switching coefficient (for example in the case of linear cells), or by use of an interrupter shunting the signal to be filtered to one or the other of the elementary cells of the block. In the latter case especially, the elementary filtering cell which is disconnected by the interrupter continues to supply an output signal due to the time of impulse response, ensuring a kind of mixing of output signals of the two elementary cells of the block at the level of the adder. Progressive switching is therefore carried out.
In an embodiment, said progressive switching can use fades whereof the corresponding fade coefficients are applied to the signals filtered by the first elementary filtering cells and by the other elementary filtering cells, typically reverse fades, one closing and the other opening, within the same first filtering block.
The opening fade and the closing fade are also known by the English terms “fade-in” and “fade-out”, designating progressive increase and progressive decrease in the amplitude of a signal. So, applying fade at the same time to all the first elementary filtering cells progressively switches off the first ARMA filter (closing fade of these elementary cells) or it is activated progressively (opening fade), retaining the approach by elementary cell enabling fast initialisation of internal variables.
Similarly, filtering resulting from the cascading of associated elementary filtering cells in the filtering blocks (corresponding to another ARMA filter or an “identity” filter for example) is also activated or switched off progressively, in reverse order to the first ARMA filter.
By way of variant, switching can be immediate, for example by application of the above “vanishing technique”. But progressive switching, “fade-in/fade-out” type, limits the appearance of audible artefacts, and switches more rapidly from one ARMA filter or IIR to the other, with “constant” artefact.
According to a particular characteristic, fades applied to the signals filtered by the first elementary filtering cell and by the other elementary filtering cell of the same first filtering block are reverse fades, one opening and the other closing, the corresponding fade coefficients of which vary over time.
Fade coefficients represent a mixing coefficient between the two signals, representative of mixing according to the fade-in/fade-out function. This arrangement shows that the ARMA filter change combines a set of switching events at the level of each filtering block. It will be ensured preferably to conduct simultaneous switching, and optionally with the same mixing coefficient, for all the filtering blocks. However, other uses are feasible within the scope of the present invention, such as application of different fade coefficients (in form and/or duration) from one filtering block to the other, or even in a given filtering block, between said first elementary cell and the associated elementary cell.
According to a configuration of the invention, within each first filtering block, said other elementary filtering cell is placed in parallel with said first elementary filtering cell to which a switching coefficient is applied, and said other elementary filtering cell uses an identity filter weighted by a complementary switching coefficient. This configuration simply uses a control mechanism of the simple activation or simple switching off of said first ARMA filter. In fact in this case, in the absence of activation of the latter (therefore either prior to switching or after the latter), only cell identity filters are cascaded, ensuring that an overall filter identity is acquired, that is, no modifying filtering.
In this configuration, the first elementary filtering cell and the cell “identity” filter in parallel receive the same digital signal at input (that of output of a preceding filtering block). They also supply a common output signal combined by means of a mixing coefficient (fade coefficients such as mentioned earlier also) whereof the component assigned to the cell “identity” filter (the switching coefficient) is reverse or complementary to the (fade) coefficient assigned to the first associated elementary filtering cell.
This complementarity can be linked to the above mixing coefficient which specifies the degree of progressiveness in switching. It also relates to the fact that the contributions of the first elementary filtering cell and of the cell “identity” preferably must not introduce useless attenuation or amplification of the digital filtered signal. In this case, the sum of the two coefficients applied to the first elementary cell and to the parallel cell “identity” filter could be equal to 100% (amplitude average), or the sum of their squares could be equal to 100% (energy average). Of course, other scenarios of complementarity between the applied coefficients are also feasible.
In a particular embodiment, two broken down ARMA filters, each of filtering blocks of elementary cells described previously, can be placed in series to switch from one to the other. In this case, said plurality of first filtering blocks is placed in series of a plurality of second cascaded filtering blocks, each comprising a second elementary filtering cell originating from factorisation of a second ARMA filter placed in parallel with a cell identity filter and weighted by a switching coefficient, all the second elementary filtering cells of the plurality of second filtering blocks factorising the second ARMA filter, and
at the level of the second filtering blocks the process comprises progressive switching of reverse filtering by the second elementary cells of the progressive filtering switching by the first elementary cells at the level of the first filtering blocks to control progressive switching between filtering by the first ARMA filter and filtering by the second ARMA filter.
Therefore, switching between two ARMA filters is managed in modular fashion by placing corresponding filtering blocks in series decomposing the preferred ARMA filters, and by navigating them in reverse.
According to another configuration of the invention, the two IIR filters broken down in elementary cells can be instantiated in parallel. In this case, within said first filtering blocks, said other elementary filtering cell is placed in parallel with said first elementary filtering cell and comprises a second elementary filtering cell originating from factorisation of a second ARMA filter.
When placed in parallel, the first and second elementary filtering cells of a filtering block receive and filter the same digital input signal of the filtering block (corresponding to the output signal of the upstream filtering block), and their filtered signals can be combined given switching from one to the other (that is, in practice as a function of a mixing coefficient, for example) to generate the filtered output signal of the relevant filtering block.
In particular, if one of the factorisations of the first and second ARMA filters comprises more elementary filtering cells than the other, a cell filter of identity filter type is associated with each supernumerary elementary filtering cell to form said filtering block. This arrangement effectively deals with the case of ARMA filters not having the same order (for the MA or AR part, for example).
Since switching is progressive, it is not rare for a new request for change of ARMA filter to arrive while switching is incomplete, that is, while the two filtering events within a filtering block each contribute in part to the output signal of the latter.
Therefore, according to an embodiment of the invention, in response to a second request for reverse filtering change of the first request (that is, returning to filtering as it was before the start of said switching) and received during progressive switching, it can be provided to reverse said filtering switching from the switching state corresponding to the instant of reception of said second request for change. This inversion can be realised by reversing applied fade coefficients, or by reversal between increase and decrease of applied fade coefficients, from their respective values at the time of receipt of the new request.
This arrangement keeps the internal memories of the filters unchanged and prevents discontinuities in the audio signal (generating unpleasant artefacts), while processing of the new request is not delayed. It is particularly useful for some audio applications wherein the same filter is regularly deactivated and reactivated (for example, for low-volume acoustic shocks where the activation decision can be unstable).
In another embodiment of the invention, in response to a third request for change of ARMA filter to a new ARMA filter received during said progressive switching, the process also comprises a progressive switching step, at the level of each first filtering block, between digital signal filtering by said first filtering block in the state corresponding to the instant of reception of said third request and digital signal filtering by a new elementary filtering cell originating from factorisation of said new ARMA filter.
The progressive combination of fade-in/fade-out type can be done between output of an elementary cell of the third ARMA filter and output of a filtering block in the state it was in during reception of the new request for change of ARMA filter. It is thus easy to modularly and recursively integrate a large number of ARMA filters while they are activated while the preceding transition (preceding switching) is not complete.
The resulting filtering is smoothed despite the large number of ARMA filter changes.
According to an embodiment of the invention, the first and second elementary filtering cells are filters of the first or second order. The order of a filter, and therefore of the elementary filtering cells, is especially the greatest of degrees of the polynomial numerator and denominator constituting their transfer function. As a result, initialisations of the internal variables to each elementary cell are last much less than conventional techniques for a complete ARMA filter. As a consequence, this arrangement ensures brief switching time between the two ARMA filters.
In particular, the first and second elementary filtering cells are filters of the first or second order with real coefficients. This arrangement has factorisation operations, that is, breakdown operations of the ARMA filter in elementary filtering cells, which employ only slightly complex calculations.
According to a particular characteristic, the first and second elementary filtering cells are filters of the first order resulting from breakdown in lattice of the first and second ARMA filters. Using filters of the first order ensures minimal initialisation time of the internal variables and therefore of switching between ARMA filters.
As a variant, the first and second elementary filtering cells are filters of the second order. This arrangement offers less complexity (fewer elementary cells to be instantiated) and retains very short initialisation times.
Correlatively, the invention relates to a device for filtering a digital signal by means of at least one ARMA filter, comprising:

    
    
        a plurality of cascaded first filtering blocks, each comprising a first elementary filtering cell and another associated elementary filtering cell, all of said first elementary filtering cells of the plurality of first filtering blocks factorising a first ARMA filter;
        at least one control element for controlling, at the level of each first filtering block, a filtering change in response to a first request for filtering change to or from filtering by the first ARMA filter, and
        each so-called first filtering block is configured to operate the filtering change by progressive switching between digital signal filtering by the first elementary filtering cell and digital signal filtering by said other associated elementary filtering cell.
    
    


Software, material or hybrid implementation of filters digital is known per se. The device according to the invention can be used for software, equipment or hybrid.
The device according to the invention has advantages similar to those of the process explained hereinabove, especially for reducing latency during change of ARMA filter.
Optionally, the device can comprise means relating to the characteristics of the process mentioned earlier.
In an embodiment, each so-called first filtering block comprises an adder for at least temporarily combining a filtered signal by the first elementary filtering cell with a signal filtered by said other associated elementary filtering cell to generate a mixed filtering block output signal during progressive switching. In another embodiment, the at least one control element comprises progressive attenuation means of the filtered signal by the first elementary filtering cell and of the filtered signal by said other associated elementary filtering cell prior to combination, according to respectively two complementary fade coefficients, one closing fade and the other opening fade.
According to a configuration of the invention, within each first filtering block, said other elementary filtering cell is placed in parallel with said first elementary filtering cell to which a switching coefficient is applied and said other elementary filtering cell uses an identity filter weighted by a complementary switching coefficient.
In particular, in “series” usage, said plurality of first filtering blocks is placed in series of a plurality of cascaded second filtering blocks, each comprising a second elementary filtering cell originating from factorisation of a second ARMA filter placed in parallel with a cell identity filter and weighted by a switching coefficient, all of said second elementary filtering cells of the plurality of second filtering blocks factorising the second ARMA filter, and
at the level of the second filtering blocks the device comprises control elements of progressive filtering switching by the reverse second elementary cells of the progressive filtering switching by the first elementary cells at the level of the first filtering blocks to control progressive switching between filtering by the first ARMA filter and filtering by the second ARMA filter.
According to a “parallel” configuration, within said first filtering blocks said other elementary filtering cell is placed in parallel with said first elementary filtering cell and comprises a second elementary filtering cell originating from factorisation of a second ARMA filter.
Especially, if one of the factorisations of the first and second ARMA filters comprises more elementary filtering cells than the other, a cell filter of identity filter type is associated with each supernumerary elementary filtering cell to form a so-called filtering block.
The invention also relates to means of storing information comprising instructions for a computer adapted to execute the filtering process according to the invention when this program is loaded and run by a computer system.
The invention also relates to a computer program readable by a microprocessor, comprising instructions for executing the filtering process according to the invention when this program is loaded and run by the microprocessor.
The means for storing information and computer program have characteristics and advantages similar to the processes which they conduct.



BRIEF DESCRIPTION OF THE DRAWINGS
Other particular features and advantages will emerge from the following description, illustrated by the attached diagrams, in which:
FIG. 1 schematically illustrates a first embodiment of the invention;
FIGS. 2, 2a and 2b illustrate operating examples of fade out carried out in the progressive change of IIR filters according to the invention;
FIG. 3 schematically illustrates a second embodiment of the invention;
FIG. 4 schematically illustrates another embodiment of the filtering device according to the invention; and
FIG. 5 shows a particular material configuration of a device or system capable of executing the process according to the invention.



DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
Examples for the present illustration are two digital linear filters with infinite impulse response or “IIR filters” or “recursive filters”, designated h1 and h2, both having the same even order, designated L, for their respective parts MA and AR.
The invention naturally also applies to other cases of ARMA and IIR filters.
For example, it applies to non-linear filters (especially Volterra filters), to FIR filters, and also in the event where both IIR filters h1 and h2 have non-even and/or different orders, or in the event where for the same IIR filter h1 or h2 the parts MA and AR also have non-even and/or different orders. The expert will be able to adjust the following explanations to these different cases by obtaining for example a cell of the first order as a complement to cells of the second order, or by obtaining elementary filtering cells whereof the denominator or the numerator is a constant while the associated numerator or denominator is a polynomial of a degree at least equal to 1. In particular, the above publication “The Volterra and Wiener theories of nonlinear Systems” provides indications on obtaining factorisation of a non-linear system of elementary cells.
As is known per se, linear IIR filters hi, (i=1 or 2) are defined by the z-transform




  
    
      
        H
        i
      
      ⁡
      
        (
        z
        )
      
    
    =
    
      
        
          
            B
            i
          
          ⁡
          
            (
            z
            )
          
        
        
          
            A
            i
          
          ⁡
          
            (
            z
            )
          
        
      
      =
      
        G
        ·
        
          
            
              ∏
              
                l
                =
                0
              
              
                
                  L
                  2
                
                -
                1
              
            
            ⁢
            
              
                (
                
                  1
                  -
                  
                    
                      β
                      
                        i
                        ,
                        l
                      
                    
                    ·
                    
                      z
                      
                        -
                        1
                      
                    
                  
                
                )
              
              ⁢
              
                (
                
                  1
                  -
                  
                    
                      
                        β
                        
                          i
                          ,
                          l
                        
                      
                      _
                    
                    ·
                    
                      z
                      
                        -
                        1
                      
                    
                  
                
                )
              
            
          
          
            
              ∏
              
                l
                =
                0
              
              
                
                  L
                  2
                
                -
                1
              
            
            ⁢
            
              
                (
                
                  1
                  -
                  
                    
                      α
                      
                        i
                        ,
                        l
                      
                    
                    ·
                    
                      z
                      
                        -
                        1
                      
                    
                  
                
                )
              
              ⁢
              
                (
                
                  1
                  -
                  
                    
                      
                        α
                        
                          i
                          ,
                          l
                        
                      
                      _
                    
                    ·
                    
                      z
                      
                        -
                        1
                      
                    
                  
                
                )
              
            
          
        
      
    
  
  ,




where Hi(z) is the z-transform of the filter hi, G is the gain of the filter Hi, and αi,l and βi,l are complex coefficients.
The transfer function Hi(z) can also be factorised in cells of the second order as follows:




  
    
      
        
          
            H
            i
          
          ⁡
          
            (
            z
            )
          
        
        =
        
        ⁢
        
          
            
              B
              i
            
            ⁡
            
              (
              z
              )
            
          
          
            
              A
              i
            
            ⁡
            
              (
              z
              )
            
          
        
      
    
  
  
    
      
        =
        
        ⁢
        
          
            
              ∏
              
                l
                =
                0
              
              
                
                  L
                  2
                
                -
                1
              
            
            ⁢
            
              (
              
                
                  b
                  
                    i
                    ,
                    l
                    ,
                    0
                  
                
                +
                
                  
                    b
                    
                      i
                      ,
                      l
                      ,
                      1
                    
                  
                  ·
                  
                    z
                    
                      -
                      1
                    
                  
                
                +
                
                  
                    b
                    
                      i
                      ,
                      l
                      ,
                      2
                    
                  
                  ·
                  
                    z
                    
                      -
                      2
                    
                  
                
              
              )
            
          
          
            
              ∏
              
                l
                =
                0
              
              
                
                  L
                  2
                
                -
                1
              
            
            ⁢
            
              (
              
                1
                -
                
                  
                    a
                    
                      i
                      ,
                      l
                      ,
                      1
                    
                  
                  ·
                  
                    z
                    
                      -
                      1
                    
                  
                
                -
                
                  
                    a
                    
                      i
                      ,
                      l
                      ,
                      2
                    
                  
                  ·
                  
                    z
                    
                      -
                      2
                    
                  
                
              
              )
            
          
        
      
    
  
  
    
      
        
          =
          
          ⁢
          
            
              ∏
              
                l
                =
                0
              
              
                
                  L
                  2
                
                -
                1
              
            
            ⁢
            
              
                h
                i
                l
              
              ⁢
              
                (
                z
                )
              
            
          
        
        ,
      
    
  




where ai,l and bi,l are real coefficients.
These formulae show how an IIR filter hi can be factorised in cells of the first order and/or in cells hil (l=0 . . . L/2−1) of the second order, that is, its transfer function is broken down into a product of polynomial cells of the second degree. The first IIR filter h1 is factorised in a plurality of a first elementary filtering cells h1l and the second IIR filter h2 is factorised in a plurality of second elementary filtering cells hl2.
It is evident here that the above generalisation on any IIR filter of any dimensions is immediate, given that any filter can be factorised as a ratio of products of cells of the first and of the second order with real coefficients (lattice breakdown, into cells of the second order).
According to the invention, any other breakdown with cells of greater orders (than the second order) can also be used, if necessary. However, breakdown into cells of the real first and of the second order will be preferred, since the less complex corresponding calculations contribute to better optimisation of the invention.
Note x(n) the digital audio signal to be filtered (X(z) its z-transform) and y(n) the resulting filtered signal (Y(z) its transform), n being the sample index.
The aim of the present invention is managing the filtering during an IIR filter change: for example, activation of an IIR filter in the previous absence of filtering; switching off an IIR filter for the sake of absence of filtering; shifting from one IIR filter to a new IIR filter (as described hereinbelow) or to a modified version of the same current filter.
Such a change can be requested by an operator via a user interface, or by another system (for example noise reduction software). In these various instances, a command for IIR filter change is received.
Reference is made to the example of deactivation of an IIR filter h2, current for activation of a second filter. In other terms, this is the filter change h1 in h2 at time T:




  
    y
    ⁡
    
      (
      n
      )
    
  
  =
  
    {
    
      
        
          
            
              
                
                  x
                  ⁡
                  
                    (
                    n
                    )
                  
                
                *
                
                  h
                  1
                
              
              ,
            
          
          
            
              ∀
              
                n
                <
                T
              
            
          
        
        
          
            
              
                
                  x
                  ⁡
                  
                    (
                    n
                    )
                  
                
                *
                
                  h
                  2
                
              
              ,
            
          
          
            
              ∀
              
                n
                ≥
                T
              
            
          
        
      
      .
    
  




The other examples derive smoothly from this example: for example, taking “identity” filters (H(z)=z) for h1 or h2 to respectively illustrate simple activation of h2 or simple switching off of h1.
FIG. 1 schematically illustrates a first embodiment of the invention for managing this switching at the time T from the filter h1 to the filter h2. The elementary filtering cells shown in this figure, and the associated control elements can easily be implemented via software and/or material elements.
This first example corresponds to a filtering device 1 implementing “in series” the filters h1 and h2. As emerges from the figure, each filter hi constitutes a “block” which is easy to handle to be connected in series to another “block” representing another IIR filter. Therefore, it is easy to “connect” in series or substitute any filter to another filter, for the purpose of executing the present invention.
In this configuration, each filter hi is constituted by the cascading of elementary filtering hil cells which break it down. l is an index of elementary filtering cells depending on completed breakdown. For example, for breakdown into elementary cells of the first order only, L cells are obtained and the index l varies from 0 to L−1. Similarly, for breakdown into elementary cells of the second order only, L2 cells are obtained and the index l varies from 0 to L/2−1.
Associated with each elementary filtering cell h11 at output is a control element 10il, for example a potentiometer module for applying an attenuation factor or “fade coefficient” to the signal filtered by h1l. The whole of these two elements is called cell filter CFli. It should be noted that in software usage, this control element can consist of a fade coefficient applied directly to the signal leaving the corresponding elementary filtering cell.
As emerges from the following explanations, a cell filter CFli comprises an elementary filtering cell and an associated control element for filtering an input signal. According to different configurations, the control element can be placed after the elementary cell or before the elementary cell.
In the case of placement after the elementary cell (in FIGS. 1 and 3 for example), this control element cannot be simple instantaneous switching of interrupter (or switch) type but offers progressive transition (fade type, especially).
In the case of placement before the elementary cell (as in FIG. 4, for example), this control element can prove to be a simple interrupter. In fact, the impulse response time of the elementary cells (these cells have a “memory”) ensures non-zero contribution of these “disconnected” cells at the level of corresponding adders, and therefore progressive switching according to the invention at the level of each filtering block. With a control element of progressive type (fade coefficient for example), this contribution due to “memory” is also modified by the fade coefficient applied by the control element.
In the example of FIG. 1, the control element uses a fade in/fade out function during switching between the two filters h1 and h2.
The control elements 10l1 controlling the first elementary filtering cells h1l are preferably identical, simultaneously applying the same closing fade coefficient Cf during switching to the IIR filter h2 (for example progressively from 100% to 0%).
The control elements 10l2 controlling the second elementary filtering cells hl2 are preferably identical, simultaneously applying the same opening fade coefficient Co during the same switching (for example progressively from 0% to 100%). In particular, the opening fade coefficient Co can be complementary to the closing fade coefficient Cf, that is, for example Co+Cf=100%. It should be noted that the ratio Co/Cf is designated a mixing coefficient.
Also, each cell filter CFli (that is, an elementary filtering cell and its associated control element 10li is placed in parallel with a cell “identity” filter CFlPTi composed by an elementary filtering cell of “identity” PTi type (that is, letting everything pass through, represented symbolically by a dotted line in the figure) and an associated control element 10lPTi of the same type as the control elements 10li. This placing in parallel consists of applying the same input signal to the two elementary cells and acquiring an output signal adding up the respective output signals of each cell filter CFli and CFlPTi.
The two cell filters CFli, CFlPTi, therefore receive the same input signal {tilde over (s)}il=1(n) and respectively generate a filtered output signal to an adder ADD (or mixer). The latter adds the two acquired filtered signals to generate a filtered output block signal. During progressive switching, this output block signal mixes the two filtered signals, the intensity of the contribution of each elementary filtering cell hli, PTi being a function of the fade coefficient applied by the associated control element 10li, 10lPTi.
The “filtering block” Bli is called the unit constituted by the two filter cells CFli, CFl and by the adder ADD. A filtering block therefore receives an input signal to be filtered and generates a filtered output signal which is the input signal filtered by one of the two elementary filtering cells Hli or PTi in a period of stabilised operation (permanent state) or which is, during progressive switching (transitory state), a combination (mixing) of the input signal filtered respectively by each of the two elementary filtering cells. According to the positioning of the control element in the filter cells, the degree of contribution of the filtering from each of the elementary cells is a function of the applied switching coefficients and/or of the “memory” (impulse response) of these elementary cells.
In detail, the control element 10lPTi is complementary to the control element 10li: the control elements 10lPT1 implement the opening fade coefficient Co, while the control elements 10lPT2 implement the closing fade coefficient Cf. In other terms, each branch PT1 behaves relative to the fade coefficient as a cell filter CFl2 of the second IIR filter (vice and versa for PT2 and the filter cells CFl1.
In the case of breakdown of the IIR filters into elementary cells of the second order, there is sil(n) with




  (
  
    
      i
      ∈
      
        {
        
          1
          ;
          2
        
        }
      
    
    ,
    
      l
      ∈
      
        {
        
          0
          ,
          ...
          ⁢
          
            
          
          ,
          
            
              L
              2
            
            -
            1
          
        
        }
      
    
  
  )




the output (filtered signal) of each elementary filtering cell hl1l and sil(n) the output of the filtering block Bli that is, the result of output mixing of the signal passing through the cell filter CFli with the signal passing through the cell filter CFlPTi, (“identity”) in parallel.

These outputs are shown as follows for the filter h1:



  
    
      
    
    ⁢
    
      
        
          s
          1
          l
        
        ⁡
        
          (
          n
          )
        
      
      =
      
        
          
            ∑
            
              k
              =
              0
            
            2
          
          ⁢
          
            
              b
              
                1
                ,
                l
                ,
                k
              
            
            ·
            
              
                
                  s
                  ~
                
                1
                
                  l
                  -
                  1
                
              
              ⁡
              
                (
                
                  n
                  -
                  k
                
                )
              
            
          
        
        +
        
          
            ∑
            
              k
              =
              1
            
            2
          
          ⁢
          
            
              a
              
                1
                ,
                l
                ,
                k
              
            
            ·
            
              
                s
                1
                l
              
              ⁡
              
                (
                
                  n
                  -
                  k
                
                )
              
            
          
        
      
    
  




  
    
      
        
          s
          ~
        
        1
        l
      
      ⁡
      
        (
        n
        )
      
    
    =
    
      {
      
        
          
            
              
                
                  s
                  1
                  l
                
                ⁡
                
                  (
                  n
                  )
                
              
              =
              
                
                  
                    
                      s
                      ~
                    
                    1
                    
                      l
                      -
                      1
                    
                  
                  ⁡
                  
                    (
                    n
                    )
                  
                
                *
                
                  h
                  1
                  l
                
              
            
          
          
            
              n
              <
              T
            
          
        
        
          
            
              
                
                  
                    C
                    f
                  
                  ⁡
                  
                    (
                    
                      n
                      -
                      T
                    
                    )
                  
                
                ·
                
                  s
                  1
                  l
                
              
              +
              
                
                  (
                  
                    1
                    -
                    
                      
                        C
                        f
                      
                      ⁡
                      
                        (
                        
                          n
                          -
                          T
                        
                        )
                      
                    
                  
                  )
                
                ·
                
                  
                    
                      s
                      ~
                    
                    1
                    
                      l
                      -
                      1
                    
                  
                  ⁡
                  
                    (
                    n
                    )
                  
                
              
            
          
          
            
              T
              ≤
              n
              <
              
                T
                +
                N
              
            
          
        
        
          
            
              
                
                  s
                  ~
                
                1
                
                  l
                  -
                  1
                
              
              ⁡
              
                (
                n
                )
              
            
          
          
            
              n
              ≥
              
                T
                +
                N
              
            
          
        
      
    
  



with the convention {tilde over (s)}1−1(n) (input signal) and where the fade coefficient Cf(n) is a function of fade out generally decreasing and monotone (examples shown in FIG. 2) and Co=1−Cf in this example.
N designates the switching duration between the two IIR filters. It can be determined empirically or by experimentation and is selected less than the initialisation durations of the techniques of the prior art. N can be selected as equal to a LONG value such as defined previously but calculated for one of said elementary filtering cells, for example the biggest length covering 80% of the energy of an impulse response (infinite) among all the elementary filtering cells.
Correspondingly, the outputs relating to the filter h2 are shown as follows, for Co=1−Cf:



  
    
      
    
    ⁢
    
      
        
          s
          2
          l
        
        ⁡
        
          (
          n
          )
        
      
      =
      
        
          
            ∑
            
              k
              =
              0
            
            2
          
          ⁢
          
            
              b
              
                2
                ,
                l
                ,
                k
              
            
            ·
            
              
                
                  s
                  ~
                
                2
                
                  l
                  -
                  1
                
              
              ⁡
              
                (
                
                  n
                  -
                  k
                
                )
              
            
          
        
        +
        
          
            ∑
            
              k
              =
              1
            
            2
          
          ⁢
          
            
              a
              
                2
                ,
                l
                ,
                k
              
            
            ·
            
              
                s
                2
                l
              
              ⁡
              
                (
                
                  n
                  -
                  k
                
                )
              
            
          
        
      
    
  




  
    
      
        
          s
          ~
        
        2
        l
      
      ⁡
      
        (
        n
        )
      
    
    =
    
      {
      
        
          
            
              
                
                  s
                  ~
                
                2
                
                  l
                  -
                  1
                
              
              ⁡
              
                (
                n
                )
              
            
          
          
            
              n
              <
              T
            
          
        
        
          
            
              
                
                  (
                  
                    1
                    -
                    
                      
                        C
                        f
                      
                      ⁡
                      
                        (
                        
                          n
                          -
                          T
                        
                        )
                      
                    
                  
                  )
                
                ·
                
                  s
                  2
                  l
                
              
              +
              
                
                  
                    C
                    f
                  
                  ⁡
                  
                    (
                    
                      n
                      -
                      T
                    
                    )
                  
                
                ·
                
                  
                    
                      s
                      ~
                    
                    2
                    
                      l
                      -
                      1
                    
                  
                  ⁡
                  
                    (
                    n
                    )
                  
                
              
            
          
          
            
              T
              ≤
              n
              <
              
                T
                +
                N
              
            
          
        
        
          
            
              
                
                  
                    s
                    ~
                  
                  2
                  l
                
                ⁡
                
                  (
                  n
                  )
                
              
              =
              
                
                  
                    
                      s
                      ~
                    
                    2
                    
                      l
                      -
                      1
                    
                  
                  ⁡
                  
                    (
                    n
                    )
                  
                
                *
                
                  h
                  2
                  l
                
              
            
          
          
            
              n
              ≥
              
                T
                +
                N
              
            
          
        
      
    
  



with the input signal convention




  
    
      
        s
        ~
      
      2
      
        -
        1
      
    
    ⁡
    
      (
      n
      )
    
  
  =
  
    
      
        
          s
          ~
        
        1
        
          
            L
            2
          
          -
          1
        
      
      ⁡
      
        (
        n
        )
      
    
    .
  




It should be noted that if in this example the same fade coefficient Cf (via Co=1−Cf) is applied to h2 as for the filter h1, the latter can be replaced by a different fade coefficient Cf′ corresponding to a function similar to Cf but the temporal support and the form whereof can be different.
Also, the invention also applies if the second IIR filter h2 is placed in front of the first filter h1 (contrary to the figure).
In steady state before the instant T, the input signal x(n) is filtered only by the IIR filter h1:

y(n)={tilde over (s)}sL/2−1(n)={tilde over (s)}1L/2−1(n)={tilde over (s)}1L/2−2(n)*h1L/2−1={tilde over (s)}1−1(n)*h19* . . . * h1L/2−1=x(n)*h1.

This corresponds to a configuration of the device 1 wherein the coefficient Cf=100% and the coefficient Co=0%. In fact, the signal x(n) is successively filtered by each of the first elementary filtering cells hli then passes through the second part of the device via the “identity” branches PT2. The contributions of the branches PT1 and hl2 are not considered due to the coefficient Co=0%.
At the instant T, switching between the two IIR filters h1 and h2 begins for a period N.
In the present embodiment of the invention, the principle is to progressively switch off the first IIR filter h1 by progressively reducing the coefficient Cf (and by increasing Co complementarily) so that the input signal passes progressively through the “identity” branches PT1. This progressive reduction is conducted via fade out.
Similarly, the second IIR filter h2 is progressively lit by increasing Co complementarily to Cf (this is for example fade in), progressively diminishing the signal passing through the branches PT2.
In other terms, during the N switching samples the digital signal is filtered by the two IIR filters h1 and h2, their respective contributions varying according to Cf.
For each pair (Hl1, Hl2), ∀l, switching at the level of the elementary cells consists of progressively decreasing the contribution of the elementary filtering cell coming from the first IIR filter h1 for the sake of contribution of the other elementary cell of the pair (coming from the IIR filter h2).
In each filtering block Bli this switching consists of progressively decreasing the contribution of the first elementary filtering cells hl1 (respectively cell “identity” filters CFlPT2) to the benefit of the contribution of associated cell “identity” filters CFlPT1 (respectively the second elementary filtering cells hl2).
According to the invention, this switching control is undertaken at the level of each filtering block (and of each elementary filtering cell) by means of appropriate means controlling the coefficients Co and Cf applied by the control elements 10li and 10lPTi. Therefore during these N samples, as a filtered output signal for each filtering block Bli, for example the barycentre of the output signal of the preceding block (via the connection PTi) is calculated with the result of this signal filtered by the elementary filtering cell hli respectively affected by a fade coefficient (Cf for the elementary cells of h1, and Co=f(Cf) for example Co=1−Cf for the elementary cells of h2) and of the complementary coefficient. These coefficients favour signals filtered by h1, at the start of switching (Cf close to 1), and favour signals filtered by h2 on completion of switching (Cf close to 0).
On completion of switching (n≧T+N), the digital signal x(n) is filtered by the IIR filter h2 only. In fact, Cf=0 and therefore:




  
    
      
        
          y
          ⁡
          
            (
            n
            )
          
        
        =
        
        ⁢
        
          
            
              s
              ~
            
            2
            
              
                L
                /
                2
              
              -
              1
            
          
          ⁡
          
            (
            n
            )
          
        
      
    
  
  
    
      
        =
        
        ⁢
        
          
            s
            2
            
              
                L
                /
                2
              
              -
              1
            
          
          ⁡
          
            (
            n
            )
          
        
      
    
  
  
    
      
        =
        
        ⁢
        
          
            
              
                s
                ~
              
              2
              
                
                  L
                  /
                  2
                
                -
                2
              
            
            ⁡
            
              (
              n
              )
            
          
          *
          
            h
            2
            
              
                L
                /
                2
              
              -
              1
            
          
        
      
    
  
  
    
      
        =
        
        ⁢
        
          
            
              
                s
                ~
              
              2
              
                -
                1
              
            
            ⁡
            
              (
              n
              )
            
          
          *
          
            h
            2
            0
          
          *
          ...
          *
          
            h
            2
            
              
                L
                /
                2
              
              -
              1
            
          
        
      
    
  
  
    
      
        =
        
        ⁢
        
          
            
              
                s
                ~
              
              1
              
                
                  L
                  /
                  2
                
                -
                1
              
            
            ⁡
            
              (
              n
              )
            
          
          *
          
            h
            2
          
        
      
    
  
  
    
      
        =
        
        ⁢
        
          
            
              
                s
                ~
              
              1
              
                -
                1
              
            
            ⁡
            
              (
              n
              )
            
          
          *
          
            h
            2
          
        
      
    
  
  
    
      
        =
        
        ⁢
        
          
            x
            ⁡
            
              (
              n
              )
            
          
          *
          
            h
            2
          
        
      
    
  




The first IIR filter h1 is no longer being used. It can be deactivated such that only the second IIR filter h2 is retained to continue processing. Fresh switching of the latter to another filter can be done by applying the ideas of the invention again with the breakdown of this other filter in series (in this case the coefficient Co applied to the elementary cells hl2 becomes a closing fade coefficient Cf).
It is not rare, during switching from one IIR filter to another, for a new request for IIR filter change to arrive while switching is incomplete. The new request arrives for example at the time T1 with T<T1<T+N.
This can be a request for switching back to the first IIR filter h1.
In this case, it can be provided that in response the filtering switching is reversed from the switching state at the time when this new request is received.
For example, if at this instant T1 the coefficients Cf(T1) are applied to the filter h1 and Co(T1) to the filter h2, reversing switching consists of applying a new closing fade coefficient Cf to the filter h2 and a new opening fade coefficient Co to the filter h1, substantially taking the form of FIG. 2 (over a period N′ which can be equal or different to N), but with values of equal origin, respectively, at Co(T1) and Cf(T1) (FIG. 2a).
Reprising these values at origin ensures the absence of discontinuity in the filtered signal, and therefore of audible artefacts.
In a variant reducing return time to the filtering state by h1 the profile of the applied fade coefficients can be retraced in the reverse direction. In the case for example of a symmetrical profile, this can correspond to being placed instantaneously at the time T′1 and to applying the end of the coefficient profile of FIG. 2 and reversing Cf (applied to 10l1 and 10lPT2) and Co (applied to 10l1 and 10lPT2), with Cf(T′1)=Co(T1) and Co(T′1)=Cf(T1) to avoid any discontinuity (FIG. 2b). In particular with Co=1−Cf, T′1=N′=T1−T), and the transition duration for returning to filtering by h1 is N′=T1−T.
It can also be a request for selecting a new (third) IIR filter h3. Breakdown of the latter similar to those for the filters h1 and h2 is carried out to acquire third elementary filtering cells




  
    
      h
      3
      l
    
    ⁢
    
      :
    
    ⁢
    
      
    
    ⁢
    
      
        H
        3
      
      ⁡
      
        (
        z
        )
      
    
  
  =
  
    
      ∏
      
        l
        =
        0
      
      
        
          L
          2
        
        -
        1
      
    
    ⁢
    
      
        
          h
          3
          l
        
        ⁡
        
          (
          z
          )
        
      
      .
    
  




In this case, it can be provided in response to the new request that fresh filtering switching is carried out from the switching state at the time when this new request is received. For this, the mixing state of the instant T1 is fixed (that is, the coefficients Cf(T1) and Co(T1) and all of the first and second IIR filters h1 and h2 are considered as a single filter (designated h12) having this fixed state, in series of which the new filter h3 is placed (for example within filtering blocks placed in series of the filtering blocks comprising h12).
The preceding ideas are applied to the filters h12 (starting filter) and h3 (end filter), especially the presence of associated cell “identity” filters in parallel of each elementary cell of h12 and h3, as well as new closing fade coefficients Cf′ (for h12) and opening Co′ (equal to 1−Cf′, for h3).
It should be noted that to simplify execution, the coefficient Co′ is applied to each elementary filtering cell hl3 (via control elements 103l) and the coefficient Cf′ at fixed values Cf(T1) and Co(T1) is applied to the control elements 10li, already existing for filters h1 and h2.
FIG. 3 schematically illustrates a second embodiment of the invention for managing this switching at the time T of the filter h1 to the filter h2. The elementary filtering cells shown in this figure, as well as the associated control elements, can easily be utilised via software and/or material elements.
This second example corresponds to a filtering device 1 wherein the filters h1 and h2 are directly instantiated “in parallel”. Each elementary filtering cell hl1 of the first IIR filter h1 is associated with an elementary filtering cell h2 of the second IIR filter h2 within filtering blocks Bl. In this way using the elementary “identity” cells PTi is avoided.
Each pair (hl1, hl2) accompanied by the respective control elements has the same properties as the pair of filtering blocks (Bl1, Bl2) of FIG. 1. Accordingly, switching between the two IIR filters is done in the same way.
In this configuration, L/2 pairs corresponding to L/2 filtering blocks Bl are cascaded.
The output {tilde over (s)}l (n) of a filtering block Bl is shown as follows, for Co=1=Cf:




  
    
      
        s
        ~
      
      l
    
    ⁡
    
      (
      n
      )
    
  
  =
  
    {
    
      
        
          
            
              
                
                  s
                  1
                  l
                
                ⁡
                
                  (
                  n
                  )
                
              
            
            
              
                n
                <
                T
              
            
          
          
            
              
                
                  
                    
                      C
                      f
                    
                    ⁡
                    
                      (
                      
                        n
                        -
                        T
                      
                      )
                    
                  
                  ·
                  
                    s
                    1
                    l
                  
                
                +
                
                  
                    (
                    
                      1
                      -
                      
                        
                          C
                          f
                        
                        ⁡
                        
                          (
                          
                            n
                            -
                            T
                          
                          )
                        
                      
                    
                    )
                  
                  ·
                  
                    
                      s
                      2
                      l
                    
                    ⁡
                    
                      (
                      n
                      )
                    
                  
                
              
            
            
              
                T
                ≤
                n
                <
                
                  T
                  +
                  N
                
              
            
          
          
            
              
                
                  s
                  1
                  l
                
                ⁡
                
                  (
                  n
                  )
                
              
            
            
              
                n
                ≥
                
                  T
                  +
                  N
                
              
            
          
        
        ⁢
        
          

        
        ⁢
        with
        ⁢
        
          

        
        ⁢
        
          
            s
            i
            l
          
          ⁡
          
            (
            n
            )
          
        
      
      =
      
        
          
            ∑
            
              k
              =
              0
            
            2
          
          ⁢
          
            
              b
              
                i
                ,
                l
                ,
                k
              
            
            ·
            
              
                
                  s
                  ~
                
                
                  l
                  -
                  1
                
              
              ⁡
              
                (
                
                  n
                  -
                  k
                
                )
              
            
          
        
        +
        
          
            ∑
            
              k
              =
              1
            
            2
          
          ⁢
          
            
              a
              
                i
                ,
                l
                ,
                k
              
            
            ·
            
              
                s
                1
              
              ⁡
              
                (
                
                  n
                  -
                  k
                
                )
              
            
          
        
      
    
  




at the level of each elementary filtering cell hil and the convention {tilde over (s)}−1(n)=x(n).

The ideas provided previously in connection with the first example are also applicable to this second example of a filtering device 1. This is the case in particular for managing a new request for IIR filter change, for the form of functions Cf and Co, or again the order of the elementary filtering cells.
It should be noted that in the event where the two IIR filters h1 and h2 have parts AR and/or MA of different orders, the number of elementary filtering cells can be different to each other. In this case, one or more elementary cells of “identity” type (PTi) is created which is associated in parallel to each supernumerary elementary filtering cell of the IIR filter having a larger number of elementary cells hl1 to form a filtering block Bl. Therefore, each elementary cell of the two IIR filters forms part of a filtering block.
FIG. 4 schematically illustrates a degraded example of execution of the filtering device according to the invention.
In this example, the control elements 10li and 10lPTi are positioned within the filter cells before the elementary filtering cells hli and PTi. FIG. 4 corresponds to the particular case where these control elements employ instantaneous transition (Cf(n<T)=1; Cf(n≧T)=0), represented here by a single interrupter 10l.
In this case progressiveness of the switching results from the impulse response duration of the elementary filtering cells, according to which the latter continue to generate an output signal (switching off signal) even in the absence of input signal. In fact, the adder ADD combines this switching off signal with the signal filtered by the other elementary “active” cell, ensuring progressive switching.
It is however noted that the duration of progressive switching is less well controlled here than in the case of FIGS. 1 and 3, where the profile of the coefficient Cf directly controls the switching duration N.
In reference again to FIG. 4, the control elements 10li are single switches or interrupters which do not apply progressive switching. But they produce initialisation durations of the internal variables which are considerably reduced due to use of elementary filtering cells hli according to the invention at the level of which switching is controlled (command 0/1 shown in the figure for controlling simultaneously all the interrupters 10l).
This degraded embodiment can perform just as well in the “series” version of FIG. 1 as in the “parallel” version of FIG. 3.
The invention such as described hereinabove therefore reduces latency in an IIR filter change even more significantly since these IIR filters are broken down into elementary filtering cells having low orders.
Some tests have shown notable efficacy of the invention with respect to known techniques. For example, applying the invention to control switching between the IIR filters of order 4, factorised into two elementary cells of order 2, the inventors reduced by half the switching time relative to the hybrid method mentioned previously, with constant artefact energy (audio click).
The present invention has various applications in the field of digital signal processing, and especially audio signals, since the use of IIR filters varying over time is very widespread.
By way of illustration, this is the case of linear prediction coders (LPC-speech coder). In this case, the filter change LPC from one frame to the other is generally done by interpolation of coefficients. Using the present invention improves filtering stability during switching by having minimal latency and complexity.
This is also the case for acoustic shock suppressor modules. Any telephone terminal plans to integrate limiters on the loudspeaker signal the task of which is to protect the user from potential acoustic shocks (strong signals, Larsen signals, etc.). For example, these limiters are found in self-contained units for the use of representatives, in VoIP clients, in mobile terminals.
In the case of Larsen, the frequential content generally varies rapidly over time. If the frequencies which compose the Larsen over time are supposedly known, using the invention quasi instantaneously adapts the IIR filters to these frequencies and filters the Larsen effect.
Finally, it is also the case of noise reduction systems. Such systems are used in any terminal fitted with a sound pickup, especially hands-free types.
In this case, using noise reduction filters would employ filters which vary over time to adapt to the spectral content of word and/or noise. Applying the ideas of the invention to these systems especially improves the latter with respect to latency.
FIG. 5 schematically shows a device or system 50 for executing the invention, especially equipment fitted with IIR filters and on which the filter switching is carried out.
The system 50 comprises a communications bus 51 to which are attached a central processing unit or “microprocessor” 52, live memory 53, non-volatile memory 54, a display device 55 for displaying user interfaces, a pointing device 56 and optionally other peripherals 57 (communications interface, diskette or disc reader, etc.).
The non-volatile memory 54 comprises the programs, execution of which executes the process according to the invention, and for example software definitions of IIR filters, optionally already broken down into elementary filtering cells.
During execution of programs, the executable code of these programs is loaded in live memory 53, RAM type, and executed by the microprocessor 52. This execution allows instantiation of the IIR filters and control of their activation and their switching off, that is, also of the switching from one IIR filter to the other, as shown in FIGS. 1, 3 and 4 for example.
The display device 55, such as a screen, enables display of graphic user interfaces for example allowing a user to generate activation, switching off or switching IIR filter commands.
The pointing device 56 can be integrated into the display device, especially when it is a touch screen, or remote, for example a mouse, a touch pad or a graphic tablet, to allow the user to send these commands.
The device described here and the central unit 52 in particular are likely to employ all or part of the processing described in connection with FIGS. 1 to 4 for executing the processes of the present invention and constituting the devices and systems of the present invention.
The preceding examples are only embodiments of the invention which is not limited thereto.
For example, the invention can employ only the “block” h1 of FIG. 1 (left part), corresponding to the case of FIG. 3 wherein the filter h2 is an identity filter (the second elementary filtering cells are also “identity” cells). Switching according to the invention switches off the filter h1 for the sake of absence of filtering, without artefact or reducing it significantly.
Similarly, using only the “block” h2 of FIG. 1 (right part), switching according to the invention activates the filter h2 whereas initially no filtering of the digital signal was performed, without artefact or reducing it significantly.
An embodiment of the present invention eliminates at least one of the disadvantages discussed in the Background section.

## Claims

1. A process comprising:
receiving a digital signal by a filtering device comprising a plurality of first cascaded filtering blocks, each filtering block comprising a first elementary filtering cell and another associated elementary filtering cell, all of said first elementary filtering cells of the plurality of first filtering blocks being configured to factorise a first autoregressive moving average (ARMA) filter;
filtering the digital signal by the filtering device to produce a filtered digital signal, wherein filtering comprises:
receiving by a processor of the filtering device a first request for a filtering change to or from filtering by the first ARMA filter by the filtering device,
controlling at least one control element to progressively switch the filtering device between digital signal filtering by the first elementary filtering cell and digital signal filtering by said other associated elementary filtering cell at a level of each of a plurality of first cascaded filtering blocks in response to receiving the first request.

2. The process as claimed in claim 1, wherein the progressive switch at the level of a first filtering block comprises the combination of a filtered signal by the first elementary filtering cell with a filtered signal by the other associated elementary filtering cell to produce a mixed output signal of a filtering block during the progressive switch.

3. The process as claimed in claim 2, wherein said progressive switch uses fades whereof fade coefficients corresponding are applied to the signals filtered by the first elementary filtering cells and by the other elementary filtering cells.

4. The process as claimed in claim 2, wherein within each first filtering block, said other elementary filtering cell is placed in parallel with said first elementary filtering cell to which a switching coefficient is applied, and said other elementary filtering cell uses an identity filter weighted by a complementary switching coefficient.

5. The process as claimed in claim 4, wherein said plurality of first filtering blocks is placed in series with a plurality of cascaded second filtering blocks, each comprising a second elementary filtering cell originating from factorisation of a second ARMA filter placed in parallel with a cell identity filter and weighted by a switching coefficient, all of said second elementary filtering cells of the plurality of second filtering blocks factorising the second ARMA filter, and at the level of the second filtering blocks the process comprises progressive switching of filtering by the second reverse elementary cells of the progressive filtering switching by the first elementary cells at the level of the first filtering blocks to control progressive switching between filtering by the first ARMA filter and filtering by the second ARMA filter.

6. The process as claimed in claim 2, wherein within said first filtering blocks said other elementary filtering cell is placed in parallel with said first elementary filtering cell and comprises a second elementary filtering cell originating from factorisation of a second ARMA filter.

7. The process as claimed in claim 6, wherein if one of the factorisations of the first and second ARMA filters comprises more elementary filtering cells than the other, a cell filter of identity filter type is associated with each supernumerary elementary filtering cell to form said filtering block.

8. The process as claimed in claim 1, comprising, in response to a second request for filtering reverse change of the first request and received during the progressive switch, an inversion step of said filtering switching from the switching state corresponding to the instant of reception of said second request for change.

9. A filtering device for a digital signal, comprising:
a plurality of first cascaded filtering blocks, which receive the digital signal and produce a filtered digital signal, each filtering block comprising a first elementary filtering cell and another associated elementary filtering cell, all of said first elementary filtering cells of the plurality of first filtering blocks being configured to factorise a first autoregressive moving average (ARMA) filter;
at least one control element configured to control, at the level of each first filtering block, a filtering change to or from filtering by the first ARMA filter;
a processor, which is configured to:
receive a request for a filtering change to or from filtering by the first ARMA filter;
control the at least one control element to progressively switch the filtering device between digital signal filtering by the first elementary filtering cell and digital signal filtering by said other associated elementary filtering cell at a level of each of the plurality of first cascaded filtering blocks, in response to receiving the request.

10. The device as claimed in claim 9, wherein each said first filtering block comprises an adder for combining a signal filtered by the first elementary filtering cell with a signal filtered by said other associated elementary filtering cell to generate a mixed output signal of a filtering block during progressive switching.

11. The device as claimed in claim 10, wherein the at least one control element comprises progressive attenuation means of the filtered signal by the first elementary filtering cell and of the filtered signal by said associated elementary filtering cell before combination, according to two complementary fade coefficients respectively, one closing fade and the other opening fade.

12. The device as claimed in claim 9, wherein within each first filtering block said other elementary filtering cell is placed in parallel with said first elementary filtering cell to which a switching coefficient is applied and said other elementary filtering cell uses an identity filter weighted by a complementary switching coefficient.

13. The device as claimed in claim 12, wherein said plurality of first filtering blocks is placed in series of a plurality of cascaded second filtering blocks, each comprising a second elementary filtering cell originating from factorisation of a second ARMA filter placed in parallel with a cell identity filter and weighted by a switching coefficient, all of said second elementary filtering cells of the plurality of second filtering blocks factorising the second ARMA filter,
and at the level of the second filtering blocks, the device comprises control elements of progressive filtering switching by the second reverse elementary cells of the progressive filtering switching by the first elementary cells at the level of the first filtering blocks to control progressive switching between filtering by the first ARMA filter and filtering by the second ARMA filter.

14. The device as claimed in claim 9, wherein within said first filtering blocks, said other elementary filtering cell is placed in parallel with said first elementary filtering cell and comprises a second elementary filtering cell originating from factorisation of a second ARMA filter.

15. A non-transitory memory device comprising a computer program product stored thereon and readable by a microprocessor of a filtering device, the computer program product comprising instructions that configure the microprocessor to perform a process for filtering a digital signal when this program is loaded and executed by the microprocessor, wherein the process comprises:
receiving a digital signal by a filtering device comprising a plurality of first cascaded filtering blocks, each filtering block comprising a first elementary filtering cell and another associated elementary filtering cell, all of said first elementary filtering cells of the plurality of first filtering blocks being configured to factorise a first autoregressive moving average (ARMA) filter;
filtering the digital signal by the filtering device to produce a filtered digital signal, wherein filtering comprises:
the microprocessor receiving a first request for a filtering change to or from filtering by first ARMA filter by the filtering device,
at least one control element progressively switching the filtering device between digital signal filtering by the first elementary filtering cell and digital signal filtering by said other associated elementary filtering cell at a level of each of a plurality of first cascaded filtering blocks, in response to receiving the request.