Lissage d'octave 1 / n


8

Étant donné une réponse en fréquence obtenue avec la FFT, je voudrais appliquer un lissage d'octave 1 / n. Quel filtre dois-je utiliser et comment? Peut-être que quelqu'un pourrait indiquer une bonne référence (un article ou un livre sur le sujet).


Vous recherchez un filtre à effet rosé , qui atténue la fréquence à l'amplitude ? Ou voulez-vous vraiment quelque chose qui atténue la fréquence à l'amplitude ? F1/FF1/(lg2F)
Wandering Logic

1
Je ne veux atténuer aucune fréquence. Je veux que les données soient lissées, avec une bande passante variable, c'est-à-dire 1 octave, 1/3 d'octave, etc.
Psirus

1
Les réponses en fréquence des haut-parleurs sont généralement lissées, soit pour rendre le graphique plus facile à interpréter mais toujours assez précis (lissé sur 1/20 d'octave), soit très lissé (1/3 d'octave) par exemple en marketing. C'est ce que j'ai lu plusieurs fois, ce que je veux dire exactement, j'essaye de le découvrir ici.
Psirus

1
Votre question n'est donc pas de changer un signal en soi, mais de montrer graphiquement la réponse en fréquence d'un appareil. Est-ce correct?
Jim Clay

1
Je pense que cet article contient des informations précieuses. Cependant, malheureusement, ce n'est pas gratuit. L'approche fondamentale est également décrite dans celle-ci .
applesoup

Réponses:


8

Typiquement, "lissage" signifie "remplacer la valeur actuelle par une moyenne par rapport aux valeurs voisines". Le plus courant est le lissage d'énergie, où le lissage entraîne la moyenne d'énergie sur l'intervalle de lissage et les informations de phase sont perdues. Le lissage complexe peut également être effectué, mais c'est une tâche délicate en raison de l'enveloppement de phase.

Le lissage d'énergie peut être exprimé comme

Oui(k)=1Nje=0N-1X(je)X(je)Wk(je)

où est une fonction de fenêtre appropriée. Dans le cas, par exemple, du lissage de troisième octave, cela pourrait être dérivé comme la grandeur au carré de la fonction de transfert d'un filtre passe-bande de troisième octave autour de la fréquence k. Cela signifie également que pour une FFT de 1024 points, par exemple, vous devez concevoir 1024 filtres passe-bande différents, ce qui représente un travail assez considérable.Wk(je)

Les choses peuvent être simplifiées si la forme exacte du filtre de lissage est flexible. Le lissage rectangulaire peut être fait comme

Oui(k)=1b-une+1je=unebX(je)X(je)

une=roun(k2-12n),b=roun(k212n)

sont simplement les indices des bords de bande pour le lissage d'octave.nth

Il y a quelques autres méthodes entre la fenêtre arbitraire et la rectangulaire en termes de complexité.


J'essaie d'implémenter cela en code C, et j'ai peur de me perdre un peu dans la notation. J'ai du mal à comprendre comment, par exemple, la somme de i allant de a à b fonctionne? Toute aide appréciée.
Andrew Smith

Deux pouces, mais hélas un seul vote, en l'air. Cette question supplémentaire demande comment le lissage complexe 1 / n est effectué, y compris les opérations délicates liées à l'encapsulation de phase.
SpeedCoder5
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.