Estimation spectrale avec la méthode de Welch
Créez un signal composé de trois sinusoïdes bruitées et d’un chirp échantillonné à 200 kHz pendant 0,1 seconde. Les fréquences des sinusoïdes sont de 1 kHz, 10 kHz et 20 kHz. Les sinusoïdes ont des amplitudes et des niveaux de bruit différents. Le chirp non bruité a une fréquence de départ de 20 kHz qui augmente de manière linéaire jusqu’à 30 kHz pendant l’échantillonnage.
Fs = 200e3; Fc = [1 10 20]'*1e3; Ns = 0.1*Fs; t = (0:Ns-1)/Fs; x = [1 1/10 10]*sin(2*pi*Fc*t)+[1/200 1/2000 1/20]*randn(3,Ns); x = x+chirp(t,20e3,t(end),30e3);
Calculez l’estimation de Welch de la PSD ainsi que les spectres des valeurs maximales et des valeurs minimales du signal. Tracez les résultats.
[pxx,f] = pwelch(x,[],[],[],Fs); pmax = pwelch(x,[],[],[],Fs,'maxhold'); pmin = pwelch(x,[],[],[],Fs,'minhold'); plot(f/1000,pow2db(pxx)) hold on plot(f/1000,pow2db([pmax pmin]),':') hold off xlabel('Frequency (kHz)') ylabel('PSD (dB/Hz)') legend('pwelch','maxhold','minhold') grid

Répétez la procédure, cette fois en calculant les estimations du spectre de puissance centré.
[pxx,f] = pwelch(x,[],[],[],Fs,'centered','power'); pmax = pwelch(x,[],[],[],Fs,'maxhold','centered','power'); pmin = pwelch(x,[],[],[],Fs,'minhold','centered','power'); plot(f/1000,pow2db(pxx)) hold on plot(f/1000,pow2db([pmax pmin]),':') hold off xlabel('Frequency (kHz)') ylabel('Power (dB)') legend('pwelch','maxhold','minhold') title('Centered Power Spectrum Estimates') grid
