Le contexte:
(Avertissement: ce n'est PAS un problème de communication).
J'essaie d'estimer la fréquence fondamentale d'un vrai signal périodique. Ce signal, a été construit par filtrage de correspondance d'un signal brut, à celui d'une impulsion. (le filtre correspondant). Le signal résultant a les caractéristiques suivantes:
C'est périodique. (Fondamental est 1 / période), et c'est ce que j'essaie d'estimer.
Il n'est pas stationnaire dans le temps. Plus précisément, les amplitudes des impulsions périodiques peuvent varier en amplitude. (par exemple, une impulsion peut être faible, tandis qu'une autre est élevée et la suivante encore faible, et une après ce médium, etc.).
Je pense qu'il est stationnaire en fréquence (dans la mesure où vous acceptez de changer d'amplitudes, mais pas de changer de bande).
Il a une distorsion harmonique. Ce que je veux dire ici, c'est que (et corrigez-moi si je me trompe), mais que les impulsions individuelles dans le signal ne sont pas des sinusoïdes, mais sont des formes `` funky '' comme un gaussien, un triangle, une demi-parabole, etc. .
J'essaie d'estimer la fréquence fondamentale de ce signal.
Bien sûr, parfois, le signal brut n'est rien d'autre que du bruit, mais il passe toujours par le chemin et est filtré par correspondance de toute façon. (Plus à ce sujet plus tard).
Ce que j'ai essayé:
Maintenant, je connais une multitude d'estimateurs de fréquence fondamentaux tels que
- La méthode d'autocorrélation
- YIN et toutes ses dépendances
- Méthode FFT.
etc,
YIN: Je n'ai pas encore essayé YIN.
Méthode FFT: La méthode FFT vous donnera toutes les harmoniques et les fondamentaux, mais j'ai remarqué qu'elle peut être capricieuse en particulier avec cette activité non stationnaire, car le fondamental n'est pas toujours le pic le plus élevé. Très rapidement, vous vous retrouvez à essayer de déterminer lequel des nombreux pics est le fondamental, et cela devient un problème difficile.
Autocorrélation: La méthode d'autocorrélation semble faire mieux que la méthode FFT, mais elle est toujours sensible aux irrégularités d'amplitude du signal temporel. La méthode d'autocorrélation mesure la distance entre le lobe central et le lobe supérieur suivant. Cette distance correspond au fondamental. Cependant, dans les cas non stationnaires, ce lobe secondaire peut être beaucoup trop bas, et vous pourriez le manquer dans un schéma de seuillage.
Il m'est alors venu à l'esprit que je pourrais peut-être utiliser une méthode sous-spatiale comme MUSIC pour estimer le fondamental. En testant cela, j'ai trouvé que cela donne vraiment de très bons résultats - il culmine - de manière robuste - et même dans des cas non stationnaires - à des fréquences correspondant à la fondamentale de votre signal. (Définissez le nombre de signaux que vous recherchez à 2, et il récupérera les fondamentaux - c'est-à-dire, choisissez les 2 vecteurs propres les plus élevés (correspondant aux valeurs les plus élevées des valeurs propres) de la matrice de covariance des signaux, jetez-les et construisez le bruit sous-espace du reste, projetez votre hypothèse complexe sinusoïdes contre eux, prenez l'inverse, et le tour est joué, un joli pseudo-spectre).
Questions et problèmes:
- Cela étant dit, je voudrais quand même comprendre pourquoi cela fonctionne mieux.
- Dans MUSIC, nous éliminons le sous-espace du signal et utilisons le sous-espace du bruit. Il me semble que les vecteurs propres du sous-espace du signal sont en fait une sorte de «meilleur ajustement» - ce sont en fait des filtres adaptés optimaux. Donc: pourquoi ne pas utiliser directement les vecteurs propres du sous-espace du signal? (Je sais que ce n'est plus de la musique, mais pourquoi est-il préférable d'utiliser le sous-espace de bruit?)
- Enfin, le dernier problème est que bien que cette méthode semble fonctionner beaucoup plus solidement pour les signaux non stationnaires (tels que définis ci-dessus), le problème est que maintenant j'obtiens TOUJOURS une réponse - même quand il n'y a que du bruit dans le système! (J'ai mentionné ci-dessus que le signal filtré pré-apparié brut peut être simplement du bruit blanc parfois, lorsque vous n'avez pas de signal périodique présent).
Quels moyens pourraient exister pour contrer cela? J'ai essayé de regarder les valeurs propres et il y a un peu plus de `` courbure '' dans leur décroissance dans les cas où il n'y a que du bruit VS les cas où il y a un signal, mais je crains qu'il ne soit pas assez robuste.
Prime:
- Quand les vecteurs propres d'une matrice de covariance sont-ils sinusouds VS autre chose? Qu'est-ce qui détermine s'il s'agit ou non de sinusoïdes? Pourquoi ne sont-ils pas des ondes carrées? Ou insérer des signaux de forme différente ici?
Réponses:
La matrice d'autocorrélation est diagonalisée par des sinusoïdes lorsque le processus est stationnaire, cela découle du fait que l'opérateur de covariance est une convolution pour un processus stationnaire. Une preuve plus rigoureuse est que
L'intuition est qu'une matrice d'autocorrélation estimée pour un ensemble fini d'observations dans un signal se comporte asymptotiquement comme une matrice circulante car la corrélation ne dépend que des différences de temps et non des positions absolues et les matrices circulantes ont des sinusoïdes discrètes comme vecteurs propres (car elles sont des convolutions) les opérateurs). Il existe de nombreuses preuves de cela et c'est une intuition sommaire.
L'ensemble des fonctions d'autocorrélation qui sont diagonalisées par les sinusoïdes sont exactement celles qui correspondent aux processus stationnaires, mais de nombreuses autres fonctions d'autocorrélation des processus seront approximativement diagonalisées par les sinusoïdes sur un certain intervalle. Ces processus correspondent à ceux qui peuvent être approximés par des processus stationnaires sur un intervalle. Plus de détails ici .
Les processus généraux non stationnaires peuvent avoir des fonctions d'autocorrélation qui n'ont pas besoin d'être diagonalisées par les sinusoïdes.
Les processus localement stationnaires auront soit un spectre changeant lentement et / ou un petit nombre de changements brusques bien espacés dans le spectre. La parole, les bruits d'animaux, la musique et de nombreux autres sons naturels correspondent à cette description. La raison pour laquelle les algorithmes d'identification de sous-espace fonctionnent, si je comprends bien, est que certaines formes de stationnarité locale (non rigoureuse) sont généralement valables pour les types de signaux que nous analysons.
la source