Estimateur de Welch
La méthode de Welch permet d'estimer la DSP d'un signal donné selon les étapes suivantes:
Diviser le signal en plusieurs segments avec ou sans chevauchement,
Estimer les DSPs des différents segments du signal par la méthode du périodogramme
Calculer la moyenne des DSPs
L'implantation de cet algorithme dans MATLAB est simple. La boîte à outils de traitement des signaux de Matlab comporte une fonction qui effectue ces opérations. Sous sa forme la plus générale, la fonction pwelch s'appelle comme :
![[PS,f] = pwelch(x,window,noverlap,nfft,fs)](../res/math_5.png)
Le programme MATLAB suivant permet d'estimer la DSP d'un signal x.
Simulation : Script MATLAB N_2
%Appliquer la méthode de Welch à un signal sinusoïdal contaminé par du bruit blanc
clear all; close all;
N = 1024; % nombre d'échantillons
fs = 1000; % fréquence d'échantillonnage (1 kHz)
% Génération d'un signal sinusoïdal avec bruit blanc (sin:250 Hz) [x,t] = sig_bruit(250,N);
% Estimer le spectre de Welch en utilisant des segments à 128 points, une fenêtre triangulaire, et un chevauchement de 50 .
[PS,f] = pwelch(x, triang(128),[ ],128,fs); plot(f,PS,'k'); tracer le spectre en puissance title('Spectre en puissance (méthode de Welch)'); xlabel('Fréquence (Hz)');
ylabel('Spectre en puissance');
Le bruit de fond est considérablement plus lisse et réduit. L'onde sinusoïdale à 250 Hz est clairement visualisée, mais la crête est maintenant légèrement plus large indiquant une perte dans la résolution fréquentielle.
