FR2738692A1 - Procede de filtrage numerique adaptatif dans le domaine frequentiel - Google Patents
Procede de filtrage numerique adaptatif dans le domaine frequentiel Download PDFInfo
- Publication number
- FR2738692A1 FR2738692A1 FR9510568A FR9510568A FR2738692A1 FR 2738692 A1 FR2738692 A1 FR 2738692A1 FR 9510568 A FR9510568 A FR 9510568A FR 9510568 A FR9510568 A FR 9510568A FR 2738692 A1 FR2738692 A1 FR 2738692A1
- Authority
- FR
- France
- Prior art keywords
- signals
- blocks
- input
- frequency domain
- sep
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H21/00—Adaptive networks
- H03H21/0012—Digital adaptive filters
- H03H21/0025—Particular filtering methods
- H03H21/0027—Particular filtering methods filtering in the frequency domain
Landscapes
- Filters That Use Time-Delay Elements (AREA)
Abstract
L'invention concerne un procédé de filtrage adaptatif de signaux d'entrée (x(n)) temporels dans le domaine fréquentiel. Le filtrage est réalisé sur des blocs (xm (k)) de m signaux successifs ((x(n), ..., x(n+m-1))), par multiplication dans le domaine fréquentiel de la transformée de Fourier (X2m (k)) des blocs de signaux d'entrée par des blocs (W2m (k)) de coefficients de pondération, ces blocs de coefficients étant calculés récursivement à partir de blocs de coefficients précédents et de premier et deuxième termes correctifs (C2m **1(k), C2m **2(k)) obtenus d'une part à partir de signaux de sortie (ym (k)) correspondants aux signaux d'entrée filtrés et d'autre part à partir de la transformée de Fourier d'un modèle de l'entrée (bp+1 ).
Description
PROCÉDÉ DE FILTRAGE NUMÉRIQUE ADAPTATIF
DANS LE DOMAINE FRÉQUENTIEL
L'invention concerne un procédé de filtrage numérique adaptatif, dans le domaine fréquentiel, de signaux numériques. De tels procédés sont mis en oeuvre en traitement du signal, pour adapter les dispositifs de réception aux évolutions d'un canal de transmission évoluant temporellement. Ainsi, par exemple, en transmission hertzienne, les caractéristiques de propagation des signaux évoluent en fonction des conditions météorologiques: elles sont différentes dans le temps et dans l'espace. On utilise donc généralement, dans les récepteurs, des filtres adaptatifs, c'est à dire des filtres à coefficients de pondération variables dans le temps.Les variations dans le temps des coefficients de pondération sont définies selon un critère d'optimisation et ces coefficients sont produits par des dispositifs (généralement des processeurs de traitement de signal ou DSP) mettant en oeuvre un algorithme d'adaptation.
DANS LE DOMAINE FRÉQUENTIEL
L'invention concerne un procédé de filtrage numérique adaptatif, dans le domaine fréquentiel, de signaux numériques. De tels procédés sont mis en oeuvre en traitement du signal, pour adapter les dispositifs de réception aux évolutions d'un canal de transmission évoluant temporellement. Ainsi, par exemple, en transmission hertzienne, les caractéristiques de propagation des signaux évoluent en fonction des conditions météorologiques: elles sont différentes dans le temps et dans l'espace. On utilise donc généralement, dans les récepteurs, des filtres adaptatifs, c'est à dire des filtres à coefficients de pondération variables dans le temps.Les variations dans le temps des coefficients de pondération sont définies selon un critère d'optimisation et ces coefficients sont produits par des dispositifs (généralement des processeurs de traitement de signal ou DSP) mettant en oeuvre un algorithme d'adaptation.
Des coefficients de pondération, calculés par des algorithmes d'adaptation généralement employés, peuvent, dans le domaine temporel, se mettre sous la forme itérative suivante (les indices représentant les dimensions de vecteur ou de matrice)
wm(n) = wm(n-l) - 1{J(n)}-G{J(n)} (1)
avec
n indice temporel,
m l'ordre du filtre,
y le pas de convergence,
J(n) = E(ld(n) - y(n) 12) (fonction de coût minimisée),
y(n) les signaux de sortie de filtre correspondants à des signaux d'entrée x(n),
d(n) les décisions produites par un organe de décision à partir des signaux de sortie,
Hm1{J(n)} une estimation de l'inverse de l'Hessian
H de J(n), et est une matrice de dimension m x m.
wm(n) = wm(n-l) - 1{J(n)}-G{J(n)} (1)
avec
n indice temporel,
m l'ordre du filtre,
y le pas de convergence,
J(n) = E(ld(n) - y(n) 12) (fonction de coût minimisée),
y(n) les signaux de sortie de filtre correspondants à des signaux d'entrée x(n),
d(n) les décisions produites par un organe de décision à partir des signaux de sortie,
Hm1{J(n)} une estimation de l'inverse de l'Hessian
H de J(n), et est une matrice de dimension m x m.
et G{J(n)} une estimation du gradient de J(n) et est un vecteur de dimension m.
Cette formulation est très générale et est valable pour une très grande classe d'algorithmes échantillon par échantillon dans le domaine temporel. Les algorithmes correspondant à l'équation (1) sont dits de type quasi-Newton.
Un choix connu de G{J(n)} est
G{J(n)} = - 2 xm*(n).e(n), avec
xm(n) = [x(n),..., x(n - m + 1) jT un vecteur formé des m dernier signaux successifs reçus au temps n, étant le symbole de la conjugaison complexe, T étant une transposition ligne-colonne, et
e(n) = d(n) - xmT(n).wm(n - 1) un signal d'erreur.
G{J(n)} = - 2 xm*(n).e(n), avec
xm(n) = [x(n),..., x(n - m + 1) jT un vecteur formé des m dernier signaux successifs reçus au temps n, étant le symbole de la conjugaison complexe, T étant une transposition ligne-colonne, et
e(n) = d(n) - xmT(n).wm(n - 1) un signal d'erreur.
C'est le choix de Hm1{J(n)} qui caractérise principalement les différents algorithmes de quasi
Newton.
Newton.
Si cette matrice est la matrice identité, on obtient l'algorithme des moindres carrés moyens (ou
LMS, de l'anglais least mean squares). Cet algorithme, très utilisé, présente une complexité faible, au détriment d'une convergence lente également.
LMS, de l'anglais least mean squares). Cet algorithme, très utilisé, présente une complexité faible, au détriment d'une convergence lente également.
Si cette matrice est l'inverse de la matrice d'autocorrélation des signaux d'entrée, alors on obtient l'algorithme des moindres carrés récursif (ou
RLS, de l'anglais recursive least squares). Cet algorithme présente une convergence meilleure que l'algorithme LMS (les signaux d'entrée étant pris en compte), au prwix d'une complexité beaucoup plus importante. Un problème de mise en oeuvre de cet algorithme d'adaptation est le temps nécessaire à la réalisation du calculs de Hm-l et G pour chaque bloc de signaux d'entrée.
RLS, de l'anglais recursive least squares). Cet algorithme présente une convergence meilleure que l'algorithme LMS (les signaux d'entrée étant pris en compte), au prwix d'une complexité beaucoup plus importante. Un problème de mise en oeuvre de cet algorithme d'adaptation est le temps nécessaire à la réalisation du calculs de Hm-l et G pour chaque bloc de signaux d'entrée.
D'autres algorithmes de filtrage ont été proposés, dérivés du type RLS, basés sur une extrapolation minmax d'une matrice d'autocorrélation d'un ordre p + 1, inférieur à m, jusqu'à l'ordre m du filtre (G.V.
Moustakides, S. Theodoridis, "Fast Quasi Newton
Transversal Filters - A New Class of Adaptive
Estimation Algorithms", IEEE Trans. on Signal
Processing, vol. 39, pp 2184-2193, Oct. 1991).
Transversal Filters - A New Class of Adaptive
Estimation Algorithms", IEEE Trans. on Signal
Processing, vol. 39, pp 2184-2193, Oct. 1991).
avec
j indice variant de O à m - p - 1, avec p <
Rp-1(n) une matrice carrée de dimension p,
p complétée de m-p zéros,
b = [0jT:bpH(n - j):l:Om-p-j-1T]H,
bmH la transposée hermitienne de bm,
bp (t) et ap(t) les prédicteur récursif et puissance d'erreur de prédiction d'ordre p,
l'opérateur : représentant une concaténation par juxtaposition, oiT étant un vecteur nul de dimension j transposé, 0m-p-j 1T étant un vecteur transposé d'un vecteur nul de dimension m-p-j-l.
j indice variant de O à m - p - 1, avec p <
Rp-1(n) une matrice carrée de dimension p,
p complétée de m-p zéros,
b = [0jT:bpH(n - j):l:Om-p-j-1T]H,
bmH la transposée hermitienne de bm,
bp (t) et ap(t) les prédicteur récursif et puissance d'erreur de prédiction d'ordre p,
l'opérateur : représentant une concaténation par juxtaposition, oiT étant un vecteur nul de dimension j transposé, 0m-p-j 1T étant un vecteur transposé d'un vecteur nul de dimension m-p-j-l.
Ils permettent d'atteindre une convergence équivalente à un algorithme de type RLS tout en ayant une complexité, proche de celle d'un algorithme de type
LMS dans le domaine temporel, nécessitant 2m + 6p multiplications par unité de temps. De tels procédés sont néanmoins de complexité élevée pour des filtres d'ordre élevé, du fait de leur complexité proportionnelle à m (ce qui peut rendre prohibitive leur utilisation pour des applications telles que l'annulation d'échos en audioconférence, où m peut être de l'ordre de plusieurs milliers).
LMS dans le domaine temporel, nécessitant 2m + 6p multiplications par unité de temps. De tels procédés sont néanmoins de complexité élevée pour des filtres d'ordre élevé, du fait de leur complexité proportionnelle à m (ce qui peut rendre prohibitive leur utilisation pour des applications telles que l'annulation d'échos en audioconférence, où m peut être de l'ordre de plusieurs milliers).
Depuis quelques années, dans le domaine du traitement du signal, le filtrage adaptatif dans le domaine fréquentiel a fait l'objet de nombreux développements. Le filtrage adaptatif dans le domaine fréquentiel présente l'avantage, par rapport au filtrage adaptatif dans le domaine temporel, de réduire considérablement la complexité de la mise en oeuvre des algorithmes d'adaptation. Ceci provient du fait que la convolution temporelle est remplacée dans le domaine fréquentiel par une multiplication et deux transformées de Fourier. En conséquence, un calcul dans le domaine fréquentiel permet de réduire à la fois les temps de production des coefficients de pondération et l'encombrement des circuits calculant ces coefficients.
Les algorithmes d'adaptation dans le domaine fréquentiel mettent en oeuvre un filtrage adaptatif par blocs, avec une dimension de bloc généralement égale à l'ordre du filtre, c'est à dire au nombre de coefficients de pondération du filtre. La plupart des algorithmes existants sont du type algorithme du gradient. On connaît déjà des exemples de mise en oeuvre d'algorithmes LMS dans le domaine fréquentiel.
Ainsi, E.R. Ferrara, "Frequency Domain Adaptive
Filtering", Adaptive Filters, C. F. N. Cowan and P. M.
Filtering", Adaptive Filters, C. F. N. Cowan and P. M.
Grant, Eds, Englewood Cliffs, Prentice Hall, 1985,
Chapitre 6, page 145-179 propose des filtres adaptatifs dans le domaine fréquentiel. Plus particulièrement, la figure 6.2 et la description correspondante présentent un filtre adaptatif de type LMS dans le domaine fréquentiel. En terme de complexité de réalisation, le calcul de m échantillons de sortie d'un filtre à m coefficients avec l'algorithme LMS dans le domaine temporel requiert 2m2 multiplications réelles. Avec l'algorithme décrit dans ce document le même calcul nécessite cinq transformées de Fourier rapides (encore notées FFT) de dimension 2m et deux multiplications complexes sur 2m points. Une FFT sur 2m points demande (m/2) log2m - m multiplications complexes. Le nombre de multiplications complexes par bloc donné est (5m/2) log2m.Une multiplication complexe équivalent à quatre multiplications réelles, le rapport de complexité entre
LMS fréquentiel et LMS temporel en terme de multiplications réelles est de (5 log2m + 4)/m. Pour m = 512 par exemple, le rapport sera de 0.096 (ce qui illustre l'intérêt de la mise en oeuvre dans le domaine fréquentiel en terme de complexité de calcul).
Chapitre 6, page 145-179 propose des filtres adaptatifs dans le domaine fréquentiel. Plus particulièrement, la figure 6.2 et la description correspondante présentent un filtre adaptatif de type LMS dans le domaine fréquentiel. En terme de complexité de réalisation, le calcul de m échantillons de sortie d'un filtre à m coefficients avec l'algorithme LMS dans le domaine temporel requiert 2m2 multiplications réelles. Avec l'algorithme décrit dans ce document le même calcul nécessite cinq transformées de Fourier rapides (encore notées FFT) de dimension 2m et deux multiplications complexes sur 2m points. Une FFT sur 2m points demande (m/2) log2m - m multiplications complexes. Le nombre de multiplications complexes par bloc donné est (5m/2) log2m.Une multiplication complexe équivalent à quatre multiplications réelles, le rapport de complexité entre
LMS fréquentiel et LMS temporel en terme de multiplications réelles est de (5 log2m + 4)/m. Pour m = 512 par exemple, le rapport sera de 0.096 (ce qui illustre l'intérêt de la mise en oeuvre dans le domaine fréquentiel en terme de complexité de calcul).
Un but de l'invention est de proposer un procédé de filtrage adaptatif, dans le domaine fréquentiel, ayant une convergence plus élevée que le filtrage LMS par blocs dans le domaine fréquentiel. Pour ce faire, l'invention propose de modifier le procédé de calcul des blocs de coefficients de pondération en prenant une estimation du Hessian différente de l'identité (c'est à dire à produire à partir des signaux d'entrée un modèle de l'entrée, ce qui permet d'améliorer la convergence), et qui ne nécessite pas le traitement de récursivité inhérent à la formulation de type RLS.
Plus précisément, l'invention propose de transposer dans le domaine fréquentiel une version simplifiée du procédé illustré ci-dessus par l'équation (2).
L'invention est basée sur la supposition que la matrice d'autocorrélation d'entrée ne change pratiquement pas pendant un intervalle de temps équivalent à au moins m échantillons, c'est à dire qu'une estimée de la matrice d'autocorrélation d'entrée qui est exacte à un temps n sera exacte pour au moins m à 2m intervalles de temps plus tard (un intervalle de temps correspondant à la distance temporelle entre deux signaux d'entrée successifs) . De nombreuses applications répondent à cette hypothèse pour des intervalles de temps beaucoup plus importants (par exemple l'annulation d'échos induit par une propagation en trajets multiples dans la transmission hertzienne).
Si on considère que Rm(n) est constante pour au moins m ou 2m intervalles de temps, alors Rp(n) le sera aussi.
On peut donc simplifier l'équation (2) de telle sorte que pour j variant de O à (m - 1) - p on a
ap(n - j) = ap(n) et bp(n - j) = bp(n).
ap(n - j) = ap(n) et bp(n - j) = bp(n).
En considérant que G{J(n)} = - 2 xm* (n) e(n), et en écrivant l'équation (1) m fois, avec n = km,..., km + m -1, on obtient une nouvelle équation récursive entre une estimation des coefficients de pondération et l'estimation des coefficients de pondération considérée m intervalles de temps plus tôt
wm(k+1) = wm(k) + 24 Zj Rm lxm (j)em j(k) (3), avec j variant de km à km + m - 1,
em,j(k) les éléments du bloc d'erreur défini par
em(k) = dm(k) - XmT(k)wm(k) (4), et
Xm(k) = [xm(km). ..xm(km+m-l)] vecteur d'entrée
k étant le rang du bloc.
wm(k+1) = wm(k) + 24 Zj Rm lxm (j)em j(k) (3), avec j variant de km à km + m - 1,
em,j(k) les éléments du bloc d'erreur défini par
em(k) = dm(k) - XmT(k)wm(k) (4), et
Xm(k) = [xm(km). ..xm(km+m-l)] vecteur d'entrée
k étant le rang du bloc.
En supposant que la matrice d'autocorrélation d'entrée est invariante pour m intervalles de temps successifs, on en déduit que
wm(k + 1) = wm(k) + 2 Rm-1Xrn* (k)em(k) (5),
la matrice Rm-1(k) étant celle correspondant au dernier instant (n = km + m - 1) du k-ième bloc.
wm(k + 1) = wm(k) + 2 Rm-1Xrn* (k)em(k) (5),
la matrice Rm-1(k) étant celle correspondant au dernier instant (n = km + m - 1) du k-ième bloc.
<tb> <SEP> Rp <SEP> -1(k) <SEP> 0
<tb> Pm(k) <SEP> = <SEP>
<tb> <SEP> 0 <SEP> 0
<tb> et Bm(k) est une matrice m * p définie par
<tb> Pm(k) <SEP> = <SEP>
<tb> <SEP> 0 <SEP> 0
<tb> et Bm(k) est une matrice m * p définie par
<tb> <SEP> bp+1 <SEP> <SEP> ... <SEP> m-p-1 <SEP>
<tb> Bm(k) <SEP> = <SEP> bp+l
<tb> <SEP> 0m-p-1 <SEP> 0m-p-2 <SEP> ... <SEP> bp+1 <SEP>
<tb>
avec bp+1 = ap-1/2(k) [bpH(k) 1jH
On peut ainsi mettre l'équation (3) sous la forme
wm(k + 1) = wm(k) + 2 cm1 (k) + 2 cm2(k) (6) avec
cml(k) = Pm(k).Xm*(k).em(k) (7), et
cm2(k) = B(k).BH(k).Xm*(k).em(k) (8).
<tb> Bm(k) <SEP> = <SEP> bp+l
<tb> <SEP> 0m-p-1 <SEP> 0m-p-2 <SEP> ... <SEP> bp+1 <SEP>
<tb>
avec bp+1 = ap-1/2(k) [bpH(k) 1jH
On peut ainsi mettre l'équation (3) sous la forme
wm(k + 1) = wm(k) + 2 cm1 (k) + 2 cm2(k) (6) avec
cml(k) = Pm(k).Xm*(k).em(k) (7), et
cm2(k) = B(k).BH(k).Xm*(k).em(k) (8).
On notera que seuls les p premiers éléments de cm1 (k) sont non nuls. Pour le calcul du vecteur cm1 (k) une inversion matricielle et une multiplication matricielle sont nécessaires pour chaque bloc. En choisissant p < < m m on pourra choisir
cml(k) = [(Xp*(k).em(k))H:0m-pH]H avec Xp*(k) une matrice p.m comprenant les p premières rangées de Xm*(k).
cml(k) = [(Xp*(k).em(k))H:0m-pH]H avec Xp*(k) une matrice p.m comprenant les p premières rangées de Xm*(k).
Autrement dit, le premier terme correctif de l'équation (6) est traité de manière analogue au procédé LMS. Si on fait abstraction du terme correctif cm2 (k) dans l'équation (6), on retrouve une équation de type LMS (à la seule différence que la contrainte de gradient dans le cas de cml(k) est différente du fait que seuls p éléments de ce vecteur sont non nuls).
Les convolutions linéaires des équations (4) pour produire le bloc d'erreur et (7) pour le premier bloc correctif peuvent être aisément implantées dans le domaine fréquentiel en utilisant la technique de recouvrement partiel, dite overlap-save, bien connue de l'homme du métier. L'idée de base est de traiter les convolutions linéaires par le biais de convolutions circulaires de taille double, ces convolutions étant mises en oeuvre en utilisant des transformées de
Fourier discrète rapide.Ainsi, on obtient
c2ml(k) = FQîFlX2mH(k).E2m(k) (9) avec
E2m(k) le vecteur bloc d'erreur dans le domaine fréquentiel,
F et F-1 l'opérateur de transformée directe de
Fourier et son inverse, et
Q1 une matrice de dimension 2m x 2m telle que
Fourier discrète rapide.Ainsi, on obtient
c2ml(k) = FQîFlX2mH(k).E2m(k) (9) avec
E2m(k) le vecteur bloc d'erreur dans le domaine fréquentiel,
F et F-1 l'opérateur de transformée directe de
Fourier et son inverse, et
Q1 une matrice de dimension 2m x 2m telle que
<tb> <SEP> = <SEP> 1m <SEP> O <SEP>
<tb> Q1 <SEP> =
<tb> <SEP> 00 <SEP>
<tb>
avec Im la matrice identité de dimension m complété, pour Q1, par des zéros.
<tb> Q1 <SEP> =
<tb> <SEP> 00 <SEP>
<tb>
avec Im la matrice identité de dimension m complété, pour Q1, par des zéros.
Si on regarde le second terme correctif de l'équation (6), on peut vérifier d'après l'équation (8) que ce terme a une structure particulière et peut être écrit sous forme d'une succession de trois convolutions linéaires.
En terme fréquentiel on pourra se ramener à la formulation suivante
C2m2(k) = FQ2F-1B2m*(k)FQ3F-lB2m(k)FQ2F- lX2mH(k)E2m(k) (10) avec
B2m(k) définie par
B2m(k) = diag{FFT[b*p+1,1:0m-p-1T:b*p+1,p+1 ...
C2m2(k) = FQ2F-1B2m*(k)FQ3F-lB2m(k)FQ2F- lX2mH(k)E2m(k) (10) avec
B2m(k) définie par
B2m(k) = diag{FFT[b*p+1,1:0m-p-1T:b*p+1,p+1 ...
b* p+1,2]} avec b* p+1,i le i-ieme élément du vecteur
p+l,2 p+l,i b
Q2 et Q3 une matrice de dimension 2m x 2m telle que:
p+l,2 p+l,i b
Q2 et Q3 une matrice de dimension 2m x 2m telle que:
<tb> <SEP> 1m <SEP> <SEP> 0 <SEP> Im~P <SEP> <SEP> 0
<tb> Q <SEP> = <SEP> et <SEP> Q <SEP> =
<tb> <SEP> 0 <SEP> 0 <SEP> 0 <SEP> 0
<tb>
avec 1m-p la matrice identité de dimension m - p.
<tb> Q <SEP> = <SEP> et <SEP> Q <SEP> =
<tb> <SEP> 0 <SEP> 0 <SEP> 0 <SEP> 0
<tb>
avec 1m-p la matrice identité de dimension m - p.
On remarque que l'équation (10) implique cinq transformées de Fourier supplémentaires par rapport à la transposition de l'algorithme LMS dans le domaine fréquentiel, ces transformées étant utilisées pour mettre en oeuvre dans le domaine fréquentiel des contraintes temporelles.
Si on considère que p < < m, alors on peut simplifier l'expression de C2m2(k) de sorte que
C2m2(k) = B*2m(k) .B2m(k) .X2mH(k).E2m(k) (11).
C2m2(k) = B*2m(k) .B2m(k) .X2mH(k).E2m(k) (11).
Cette simplification est raisonnable parce que, en supposant que p est très inférieur à m, alors les effets de distorsion sont négligeable et les contraintes matricielles peuvent être supprimées.
Si on considère, dans le domaine fréquentiel, l'équation récursive d'adaptation des coefficients de pondération suivante
W2m(k+l) = W2m(k) + 2ssC2ml(k) + 2ssC2m2(k) (12) avec
C2ml(k) et C2m2(k) tels que définis par les relations (9) et (11), alors on obtient un procédé de filtrage dans le domaine fréquentiel ayant une complexité proche de celle de la transposition fréquentielle de l'algorithme LMS, et présentant une convergence analogue à celle de l'implantation dans le domaine temporel de l'algorithme RLS défini dans la relation (5).
W2m(k+l) = W2m(k) + 2ssC2ml(k) + 2ssC2m2(k) (12) avec
C2ml(k) et C2m2(k) tels que définis par les relations (9) et (11), alors on obtient un procédé de filtrage dans le domaine fréquentiel ayant une complexité proche de celle de la transposition fréquentielle de l'algorithme LMS, et présentant une convergence analogue à celle de l'implantation dans le domaine temporel de l'algorithme RLS défini dans la relation (5).
Ainsi, l'invention concerne un procédé de filtrage adaptatif de signaux d'entrée temporels, caractérisé en ce que le filtrage est réalisé sur des blocs de m signaux successifs, par multiplication dans le domaine fréquentiel de la transformée de Fourier des blocs de signaux d'entrée par des blocs de coefficients de pondération, ces blocs de coefficients étant calculés récursivement à partir de blocs de coefficients précédents et de premier et deuxième termes correctifs obtenus à partir de signaux de sortie correspondant aux signaux d'entrée filtrés et à partir de la transformée de Fourier d'un modèle de l'entrée.
D'autres particularités et avantages apparaîtront à la lecture de la description qui suit, à lire conjointement au dessin annexé dans lequel la figure 1 représente schématiquement un procédé de filtrage adaptatif dans le domaine fréquentiel, selon l'invention.
La figure 1 illustre schématiquement un exemple de mise en oeuvre du procédé de filtrage adaptatif selon l'invention.
L'objet du procédé est de pondérer des signaux d'entrée x(n) successifs par des coefficients wi(k) variables et de produire des signaux de sortie y(n) correspondants tels qu'on minimise des signaux d'erreur e(n) = d(n) - y(n), avec d(n) des décisions produites par un organe de décision à partir des signaux de sortie y(n).
Une application d'un tel procédé est par exemple l'annulation d'échos en audioconférence. Une autre application possible est l'identification adaptative d'une manière générale, et en particulier l'identification de canaux perturbés par des échos lors de transmissions ou de diffusions hertziennes. Dans ce contexte, l'ordre des prédicteurs ainsi que les conditions de stationnarité rentrent exactement dans les hypothèses de l'invention.
Dans l'invention, les signaux d'entrée x(n) sont traités par blocs de m signaux successifs (x(n),....
x(n+m-1)), avec m entier. Généralement m est une puissance de 2 (par exemple m = 512 ou 1024).
Classiquement, à un bloc de signaux d'entrée (x(n) ,.. . , x(n+m-l)) va correspondre un bloc de m coefficients de pondération (wn(k),..., Wn+m-l(k)).
Schématiquement, le procédé selon l'invention propose de réaliser, dans le domaine fréquentiel, l'adaptation des coefficients d'une part à partir d'un bloc d'erreurs produit à partir des signaux de sortie (de manière analogue à la réalisation dans le domaine fréquentiel d'un procédé de type LMS) et d'autre part à partir d'un prédicteur de signaux d'entrée.
On va décrire maintenant plus précisément le procédé illustré sur la figure.
Les signaux d'entrée x(n) sont regroupés, par une transformation série-parallèle 1, en blocs de signaux (x(km),..., x(km+m-l)).
Chaque k-ième bloc xm(k) est regroupé par une concaténation 2, avec le bloc précédent xm(k-l) , puis le bloc de 2m signaux obtenus est transposé dans le domaine fréquentiel, par une transformée de Fourier rapide 3 (notée FFT). On obtient alors un bloc fréquentiel de 2m signaux d'entrée.
Par une multiplication 4, on produit 2m signaux représentatifs du résultat de l'opération suivante
Y2m(k) = X2m(k)W2m(k) avec
X2m(k) = diag(FFT[x(km-m)....x(km+m-l)lT) et
W2m(k) un vecteur, de dimension 2m, de coefficients de pondération.
Y2m(k) = X2m(k)W2m(k) avec
X2m(k) = diag(FFT[x(km-m)....x(km+m-l)lT) et
W2m(k) un vecteur, de dimension 2m, de coefficients de pondération.
Après une transformation de Fourier rapide inverse 5 de Y2m(k) et une déconcaténation 6 on produit un bloc y, (k) de m signaux correspondant à la seconde moitié des signaux obtenus après la transformation inverse, dans le domaine temporel.
Autrement dit, le bloc y,(k) est représentatif de la relation suivante
y,(k) = Q0F-ly2m(k) avec = = [0m, Im] une matrice de dimension m.2m, avec 0m une matrice carrée nulle de dimension m, 1m la matrice identité de dimension m, et F-1 l'inverse de l'opérateur de transformée directe de Fourier de dimension 2m.
y,(k) = Q0F-ly2m(k) avec = = [0m, Im] une matrice de dimension m.2m, avec 0m une matrice carrée nulle de dimension m, 1m la matrice identité de dimension m, et F-1 l'inverse de l'opérateur de transformée directe de Fourier de dimension 2m.
Par une transformation parallèle-série 7, on obtient les signaux de sortie y(n).
En ce qui concerne l'adaptation des coefficients de pondération, on réalise l'opération suivante
W2m(k+l) = W2m(k) + 2bC2ml(k) + 2ssC2m2(k) (12), avec
C2m1(k) = FQ1F-1x2mH(k)#E2m(k) (9) et
C2m2(k) = B2m*(k).B2m(k).X2mH(k).E2m(k) (11)
avec
un pas de convergence,
E2m(k) un vecteur bloc d'erreur dans le domaine fréquentiel, de dimension 2m,
X2mH(k) une matrice diagonale de dimension 2m.2m obtenue par une transposition hermitienne 8 de X2m(k),
F l'opérateur de transformée directe de Fourier de dimension 2m,
Q1 une matrice de dimension 2m * 2m telle que
p entier inférieur à m, Ip matrice identité de dimension p,
B2m(k) matrice de dimension 2m définie par
B2m(k) = diag{FFT[b*p+1,1:Omp1T:: b*p+î,p+î b*p+1,2]T} avec b*p+1 i le i-ième élément d'un vecteur b*p+1 de dimension p+l.
W2m(k+l) = W2m(k) + 2bC2ml(k) + 2ssC2m2(k) (12), avec
C2m1(k) = FQ1F-1x2mH(k)#E2m(k) (9) et
C2m2(k) = B2m*(k).B2m(k).X2mH(k).E2m(k) (11)
avec
un pas de convergence,
E2m(k) un vecteur bloc d'erreur dans le domaine fréquentiel, de dimension 2m,
X2mH(k) une matrice diagonale de dimension 2m.2m obtenue par une transposition hermitienne 8 de X2m(k),
F l'opérateur de transformée directe de Fourier de dimension 2m,
Q1 une matrice de dimension 2m * 2m telle que
p entier inférieur à m, Ip matrice identité de dimension p,
B2m(k) matrice de dimension 2m définie par
B2m(k) = diag{FFT[b*p+1,1:Omp1T:: b*p+î,p+î b*p+1,2]T} avec b*p+1 i le i-ième élément d'un vecteur b*p+1 de dimension p+l.
Pour produire c2m1(k), on procède de la manière suivante
- à partir du bloc ym(k) de m signaux de sortie, définis dans le domaine temporel, et d'un bloc dm(k) de m décisions correspondantes, on produit par une soustraction 9 un bloc de m signaux d'erreur em(k) = dm(k) - ym(k). Les décisions sont produites par un circuit de décision non linéaire,
- après une concaténation 10 de em(k) avec un bloc de m signaux nuls, on produit le bloc E2m(k) de 2m signaux d'erreurs dans le domaine fréquentiel par une transformée de Fourier rapide 11 (on a donc E2m(k) =
FQOTem(k)),
- à partir de E2m(k) on produit, par une multiplication 12 avec le bloc X2mH(k) de 2m signaux, un bloc de 2m signaux représentatifs de l'opération X2mH(k) E2m(k),
- ce bloc de 2m signaux obtenu est ensuite transposé dans le domaine temporel par transformée de
Fourier inverse rapide 13, les m derniers signaux correspondants sont remplacés par des zéros lors d'une concaténation 14, et les 2m signaux ainsi produits sont transposés dans le domaine fréquentiel par une transformée de Fourier rapide 15.
- à partir du bloc ym(k) de m signaux de sortie, définis dans le domaine temporel, et d'un bloc dm(k) de m décisions correspondantes, on produit par une soustraction 9 un bloc de m signaux d'erreur em(k) = dm(k) - ym(k). Les décisions sont produites par un circuit de décision non linéaire,
- après une concaténation 10 de em(k) avec un bloc de m signaux nuls, on produit le bloc E2m(k) de 2m signaux d'erreurs dans le domaine fréquentiel par une transformée de Fourier rapide 11 (on a donc E2m(k) =
FQOTem(k)),
- à partir de E2m(k) on produit, par une multiplication 12 avec le bloc X2mH(k) de 2m signaux, un bloc de 2m signaux représentatifs de l'opération X2mH(k) E2m(k),
- ce bloc de 2m signaux obtenu est ensuite transposé dans le domaine temporel par transformée de
Fourier inverse rapide 13, les m derniers signaux correspondants sont remplacés par des zéros lors d'une concaténation 14, et les 2m signaux ainsi produits sont transposés dans le domaine fréquentiel par une transformée de Fourier rapide 15.
Autrement dit, le terme correctif C2m1(k) est obtenu par un procédé semblable à celui utilisé dans la mise en oeuvre d'un algorithme de type LMS dans le domaine fréquentiel, en remplaçant 12m par Q1.
Le terme correctif C2m2(k) correspond à une modélisation des signaux d'entrée.
L'invention est basée sur la supposition que la matrice d'autocorrélation d'entrée ne change pratiquement pas pendant un intervalle de temps équivalent à au moins m échantillons, c'est à dire qu'une estimée de la matrice d'autocorrélation d'entrée qui est exacte à un temps n sera exacte pour au moins m à 2m intervalles de temps plus tard (un intervalle de temps correspondant à la durée entre deux signaux d'entrée successifs), voire plus. De nombreuses applications répondent à cette hypothèse pour nombre l.m d'intervalles de temps beaucoup plus important (par exemple l'annulation d'échos induits par une propagation en trajets multiples dans la transmission hertzienne).
En conséquence, on considère des regroupements dans un concaténateur 16 de 1 blocs successifs de signaux d'entrée. Pour chaque regroupement, on calcule dans le domaine temporel un bloc bp+1 de p+l signaux (modèle de l'entrée) tels que
bp+1 = ap-1/2(k) [-bpH(k) 1]H avec
bp et ap des prédicteur d'entrée et puissance d'erreur de prédiction d'ordre p, avec p < m.
bp+1 = ap-1/2(k) [-bpH(k) 1]H avec
bp et ap des prédicteur d'entrée et puissance d'erreur de prédiction d'ordre p, avec p < m.
Pour ce faire, on utilise dans un corrélateur 17 la méthode connue dite d'autocorrélation (décrite par exemple dans "Digital Spectral Analysis with
Applications", par S.L. Marple, Prentice Hall, New
Jersey, 1987).
Applications", par S.L. Marple, Prentice Hall, New
Jersey, 1987).
A partir du bloc bp+1 on produit par une concaténation 18 dans le domaine temporel le bloc b'm de m signaux (b*p+1,1 0m-p-1T b*+1,p+1 ... b* p+1,2).
On passe ensuite dans le domaine fréquentiel par une transformée de Fourier rapide 19 pour obtenir un bloc de 2m échantillons représentatif de B2m(k) tel que: B2m (k)-diag{FFT[b*p+1,1:0m-p-I T:b* p+1,o+1...b*p+1,2]T}.
Pour obtenir C2m2(k), on procède ensuite à la multiplication 20 de B2m(k) par sa conjuguée B2m*(k) (obtenue par une transformation 21), et à la multiplication 22 par X2mH(k).E2m(k), ce terme ayant été calculé par ailleurs pour produire c2ml(k).
A partir des deux blocs c2ml(k) et C2m2 (k) de 2m signaux correctifs, et après multiplications 22 et 23 de ces blocs par 2ss, on peut calculer pour chaque bloc de signaux d'entrée le bloc de coefficients de pondération correspondant par une simple addition 24 des signaux du bloc de coefficients de pondération précédent fourni par un circuit de retard 25 avec les signaux des blocs 2ssC2m1(k) et 2ssC2m2(k).
Claims (5)
1 - Procédé de filtrage adaptatif de signaux d'entrée (x(n)) temporels, caractérisé en ce que le filtrage est réalisé sur des blocs (xm(k)) de m signaux successifs ((x(n),...,x(n+m-1))), par multiplication (4) dans le domaine fréquentiel de la transformée de
Fourier (X2m(k)) des blocs de signaux d'entrée par des blocs (W2m(k)) de coefficients de pondération, ces blocs de coefficients étant calculés récursivement (915) à partir de blocs de coefficients précédents et de premier et deuxième termes correctifs (C2m1(k),
C2m2(k)) obtenus d'une part (13-15) à partir de signaux de sortie (ym(k)) correspondants aux signaux d'entrée filtrés et d'autre part (16-20) à partir de la transformée de Fourier d'un modèle de l'entrée (bp+1).
2 - Procédé selon la revendication 1, caractérisé en ce que le modèle de l'entrée (bop+1) est calculé par autocorrélation (17) et comprend un nombre p de signaux, avec p inférieur à m.
3 - Procédé selon la revendication 2, caractérisé en ce qu'un modèle de l'entrée est calculé (16) pour l.m blocs de signaux d'entrée successifs.
4 - Procédé selon l'une des revendications 1 à 3, caractérisée en ce que le calcul du second terme correctif (C2m2(k)) comprend la transformation par transformée de Fourier (19) d'un bloc (b'm) de m signaux produits dans le domaine temporel à partir du modèle de l'entrée (bop+1).
5 - Procédé selon l'une des revendications 1 à 4, caractérisé en ce que le premier terme correctif (C2ml(k)) est obtenu par la mise en oeuvre (10-15) dans le domaine fréquentiel de l'algorithme des moindres carrés moyens.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9510568A FR2738692B1 (fr) | 1995-09-08 | 1995-09-08 | Procede de filtrage numerique adaptatif dans le domaine frequentiel |
PCT/FR1996/001378 WO1997009782A1 (fr) | 1995-09-08 | 1996-09-09 | Procede de filtrage numerique adaptatif dans le domaine frequentiel |
EP96931093A EP0848867A1 (fr) | 1995-09-08 | 1996-09-09 | Procede de filtrage numerique adaptatif dans le domaine frequentiel |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9510568A FR2738692B1 (fr) | 1995-09-08 | 1995-09-08 | Procede de filtrage numerique adaptatif dans le domaine frequentiel |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2738692A1 true FR2738692A1 (fr) | 1997-03-14 |
FR2738692B1 FR2738692B1 (fr) | 1997-10-31 |
Family
ID=9482398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9510568A Expired - Fee Related FR2738692B1 (fr) | 1995-09-08 | 1995-09-08 | Procede de filtrage numerique adaptatif dans le domaine frequentiel |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP0848867A1 (fr) |
FR (1) | FR2738692B1 (fr) |
WO (1) | WO1997009782A1 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2852779A1 (fr) * | 2003-03-20 | 2004-09-24 | Arkamys | Procede pour traiter un signal electrique de son |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4658426A (en) * | 1985-10-10 | 1987-04-14 | Harold Antin | Adaptive noise suppressor |
-
1995
- 1995-09-08 FR FR9510568A patent/FR2738692B1/fr not_active Expired - Fee Related
-
1996
- 1996-09-09 WO PCT/FR1996/001378 patent/WO1997009782A1/fr not_active Application Discontinuation
- 1996-09-09 EP EP96931093A patent/EP0848867A1/fr not_active Ceased
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4658426A (en) * | 1985-10-10 | 1987-04-14 | Harold Antin | Adaptive noise suppressor |
Non-Patent Citations (2)
Title |
---|
GANAPATI PANDA, BERNARD MULGREW, COLIN COWAN, PETER GRANT: "A SELF-ORTHOGONALIZING EFFICIENT BLOCK ADAPTIVE FILTER", IEEE ACOUSTICS, SPEECH, AND SIGNAL PROCESSING MAGAZINE, vol. 34, no. 6, December 1986 (1986-12-01), NEW YORK US, pages 1573 - 1582, XP002004366 * |
JAE CHON LEE , CHONG KWAN UN: "BLOCK REALIZATION OF MULTIRATE ADAPTIVE DIGITAL FILTERS", IEEE ACOUSTICS, SPEECH, AND SIGNAL PROCESSING MAGAZINE, vol. 34, no. 1, February 1986 (1986-02-01), NEW YORK US, pages 105 - 117, XP002004365 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2852779A1 (fr) * | 2003-03-20 | 2004-09-24 | Arkamys | Procede pour traiter un signal electrique de son |
WO2004086818A1 (fr) * | 2003-03-20 | 2004-10-07 | Arkamys | Procede pour traiter un signal electrique de son |
US7613305B2 (en) | 2003-03-20 | 2009-11-03 | Arkamys | Method for treating an electric sound signal |
Also Published As
Publication number | Publication date |
---|---|
FR2738692B1 (fr) | 1997-10-31 |
WO1997009782A1 (fr) | 1997-03-13 |
EP0848867A1 (fr) | 1998-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0748555B1 (fr) | Annuleur d'echo acoustique avec filtrage en sous-bandes | |
EP0710947B1 (fr) | Procédé et dispositif de suppression de bruit dans un signal de parole, et système avec annulation d'écho correspondant | |
EP0932964B1 (fr) | Procede et dispositif d'egalisation aveugle des effets d'un canal de transmission sur un signal de parole numerique | |
CN101346895B (zh) | 回声抑制方法及设备 | |
FR2913521A1 (fr) | Procede de reduction active d'une nuisance sonore. | |
US20120154610A1 (en) | Motor noise reduction circuit | |
JPH1152988A (ja) | 適応アレイの制御方法および適応アレイ装置 | |
FR2793629A1 (fr) | Procede et dispositif d'annulation d'echo stereophonique a filtrage dans le domaine frequentiel | |
FR2810820A1 (fr) | Procede et dispositif de reception d'un signal radio | |
EP0174678B1 (fr) | Annuleur d'écho utilisant la modulation delta | |
US3764914A (en) | High speed line equalizer | |
EP0692883A1 (fr) | Procédé d'égalisation aveugle et son application à la reconnaissance de la parole | |
EP0848866B1 (fr) | Dispositif de filtrage avec retour de decision, dans le domaine frequentiel | |
JP4538460B2 (ja) | エコーキャンセラおよびスパースエコーキャンセラ | |
FR2738692A1 (fr) | Procede de filtrage numerique adaptatif dans le domaine frequentiel | |
EP0970562B1 (fr) | Filtre numerique pour retards fractionnaires | |
TW200412728A (en) | Noise matching for echo cancellers | |
EP1103138B1 (fr) | Dispositif de traitement numerique a filtrage frequentiel et a complexite de calcul reduite | |
EP1447916B1 (fr) | Procédé et dispositif de détection de données transmises par étalement de spectre | |
EP1155497A1 (fr) | Procede et systeme de traitement de signaux d'antenne | |
EP0824798B1 (fr) | Filtrage adaptatif a sous-bandes | |
Sengar et al. | Multirate Filtering for Digital Signal Processing and its Applications | |
Sommen et al. | Efficient frequency domain filtered-x realization of phantom sources | |
JPH07177062A (ja) | 可変位相エコー打ち消し器からなるモデムを始動するプロセス及びその様なプロセスが実施されるモデム | |
FR2850501A1 (fr) | Procede et dispositif de reception d'un signal radio |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20080531 |