Implantation sous MATLAB
La méthode de Yule-Walker[1] est destinée à résoudre l'équation récursive du modèle autorégressif (AR), et peut être implantée sous MATLAB comme suit :
![[PS, freq] = pyulear(x,p,nfft,Fs);](../res/math_11.png)
Seulement les deux premiers arguments, x et p, sont exigés car les deux autres ont des valeurs par défaut. L'argument d'entrée, x, est un vecteur contenant le signal à analyser, p est l'ordre du modèle AR. L'argument d'entrée nfft spécifie la longueur du segment de données à analyser. Si nfft est inférieur à la longueur de x, alors des moyennes seront prises comme dans pwelch. La valeur par défaut pour nfft est 256. Le paramètre Fs représente la fréquence d'échantillonnage. Si ce paramètre est spécifié alors il est utilisé pour construire le vecteur fréquentiel, freq, pour la représentation graphique du spectre. Si Fs n'est pas spécifié, alors le vecteur fréquentiel se construit entre 0 et π.
Comme dans la routine pwelch, seulement le premier argument de sortie, PS, est exigé, et il contient le spectre de puissance résultant. De même, la durée de PS est (nfft/2)+1 si nfft est pair, ou bien (nfft+1)/2 si nfft est impair. Un cas particulier se présente lorsque x est complexe, PS aura une longueur de nfft. D'autres options sont possibles (consulter l'aide de MATLAB par help pyulear ou doc pyulear sur la ligne commande).
D'autres méthodes autorégressives sont disponibles, par exemple;
Simulation :
[Pxx, freq] = pburg(x,p,nfft,Fs); méthode de Burg
[Pxx, freq] = pcov(x,p,nfft,Fs); méthode de covariance
[Pxx, freq] = pmcov(x,p,nfft,Fs); méthode de covariance modifiée
Simulation : Script MATLAB préliminaire
Générer un signal combinant un bruit blanc filtré passe–bas, quatre sinusoïdes, deux parmi elles étroitement alignées, et du bruit blanc.
L'étudiant complète les parties Travail à compléter dans le script MATLAB suivant.
Programme d'évaluation des différentes méthodes d'analyse spectrale moderne
Générer des spectres du bruit blanc filtré passe-bas et des sinusoïdes, et du bruit blanc qui applique des méthodes d'analyse classique et AR.
N = 1024; taille des vecteurs
fs = 1000; fréquence d'échantillonnage n1 = 8; ordre du filtre
w = pi/20; fréquence de coupure du filtre (25 Hz)
Générer le processus à large bande passe–bas, et Calculer la réponse impulsionnelle d'un filtre
de Butterworth passe–bas
noise = randn(N,1); générer le bruit
[b,a] = butter(n1,w); calculer les coefficients du filtre