Skip to content

Tutoriel : Estimation d'un canal FIR

Introduction

L'estimation de canal est un problème fondamental en traitement du signal et télécommunications. Un canal FIR (Finite Impulse Response) est un système linéaire caractérisé par sa réponse impulsionnelle h=[h0,h1,,hL1]T de longueur L.

Dans ce tutoriel, nous considérons le problème d'identification de canal : estimer les coefficients h à partir d'observations entrée-sortie.

Modèle du canal

Le signal de sortie x[n] est obtenu par convolution du signal d'entrée s[n] avec la réponse impulsionnelle du canal :

x[n]=l=0L1hls[nl]+w[n]

w[n] est un bruit additif gaussien.

Objectif : Estimer h à partir de :

  • Signal d'entrée connu : s=[s1,,sm]T
  • Signal de sortie observé : x=[x1,,xm]T

Formulation en modèle linéaire

Construction de la matrice de design

Pour m échantillons temporels, le modèle s'écrit sous forme vectorielle :

x=Sh+w

SRm×L est une matrice de Toeplitz construite à partir du signal d'entrée s :

S=[s1000s2s100s3s2s10s3s2sLs30sL+1sLs1sLsmsmL+2smL+1]

Chaque ligne k de S contient les L dernières valeurs du signal d'entrée avant l'instant k : [sk,sk1,,skL+1].

Remarque

Ce problème est dual de la déconvolution :

  • Déconvolution : h connu, estimer s à partir de x=sh
  • Estimation de canal : s connu, estimer h à partir de x=sh

Estimateur des moindres carrés

Solution analytique

L'estimateur OLS minimise la somme des carrés des erreurs de prédiction :

h^OLS=argminhxSh2

Si S est de rang plein (mL et S de rang L), la solution unique est :

h^OLS=(STS)1STx=Sx

S est la pseudo-inverse de Moore-Penrose.

Propriétés

Sous les hypothèses du modèle linéaire gaussien :

  1. Sans biais : E[h^OLS]=h

  2. Matrice de covariance : Cov(h^OLS)=σw2(STS)1

  3. Variance minimale : BLUE (Best Linear Unbiased Estimator) par le théorème de Gauss-Markov

Conditionnement et qualité d'estimation

La qualité de l'estimation dépend du conditionnement de STS :

  • Si cond(STS) est faible : estimation robuste
  • Si cond(STS) est élevé : estimation sensible au bruit

Le conditionnement dépend du signal d'entrée s :

  • Signal blanc (ex: bruit gaussien) : bon conditionnement, matrice STSσs2I
  • Signal périodique (ex: sinusoïde pure) : mauvais conditionnement, matrice singulière
  • Séquence d'apprentissage optimale : signaux pseudo-aléatoires (PN sequences, PRBS)

Visualisations

Le script Python génère trois figures illustrant le problème :

Estimation de canal FIR

Figure 1: Estimation de canal avec différents types de signaux d'entrée

Figure 1 montre trois scénarios :

  1. Signal blanc gaussien : Excellente estimation (bon conditionnement)
  2. Signal BPSK : Bonne estimation (signal binaire aléatoire)
  3. Signal périodique : Mauvaise estimation (mauvais conditionnement)
Performance en fonction du SNR

Figure 2: Erreur quadratique moyenne (MSE) en fonction du rapport signal/bruit (SNR)

Figure 2 illustre l'impact du bruit sur la qualité d'estimation :

  • À SNR élevé (peu de bruit) : MSE faible, estimation précise
  • À SNR faible (bruit important) : MSE élevée, estimation imprécise
  • La pente montre la sensibilité de l'estimateur au bruit
Performance en fonction de la longueur d'observation

Figure 3: MSE en fonction du nombre d'échantillons d'observation

Figure 3 montre l'effet de la longueur de la séquence d'apprentissage :

  • Plus d'échantillons → MSE diminue (loi en 1/m)
  • Convergence asymptotique vers la vraie réponse impulsionnelle

Design optimal du signal d'entrée

Connaissant la matrice de covariance de l'estimateur, il peut être interessant de se focaliser sur le design du signal d'entrée en optimisation les performances d'estimation.

Formulation du problème

Pour la contrainte E=s2, quel signal d'entrée s minimise la variance d'estimation ?

La matrice de covariance de l'estimateur OLS est :

Cov(h^)=σw2(STS)1

La trace de cette matrice représente la variance totale :

trace(Cov(h^))=σw2trace((STS)1)

Problème d'optimisation (D-optimal design) :

minstrace((STS)1)s.c.s2E

Équivalent à :

maxstrace(STS)oumaxsλmin(STS)

Solution optimale

Le signal optimal est un bruit blanc (ou signal à spectre plat) :

Propriété : Pour un signal blanc s de variance σs2=E/m :

STSmσs2IL=EIL

La matrice STS est diagonale et bien conditionnée.

Conséquence :

trace((STS)1)LE

Ce qui donne la variance minimale possible.

Comparaison de différents signaux

Comparaison de signaux d'entrée

Figure 4: Comparaison de différents designs de signaux d'entrée

Figure 4 compare 4 types de signaux à énergie constante :

  1. Bruit blanc gaussien : cond(STS)1 (optimal)
  2. PRBS (Pseudo-Random Binary Sequence) : cond(STS)1 (quasi-optimal)
  3. Multi-sinusoïdes : cond(STS)10100 (acceptable si bien espacées)
  4. Sinusoïde pure : cond(STS) (mauvais, matrice singulière)

Spectre fréquentiel et valeurs propres

Le conditionnement de STS est directement lié au spectre du signal d'entrée :

  • Spectre plat (bruit blanc) → Toutes les valeurs propres égales → Conditionnement optimal
  • Spectre avec trous → Certaines valeurs propres faibles → Mauvais conditionnement
  • Ligne spectrale unique → Une seule valeur propre non nulle → Matrice singulière

Recommandation pratique : Utiliser des séquences PRBS ou du bruit blanc gaussien filtré pour l'estimation de canal.

Code Python

Le script complet est disponible dans src/canal_estimation.py.