Premièrement, je suis nouveau dans le DSP et je n'ai pas vraiment d'éducation, mais je développe un programme de visualisation audio et je représente un réseau FFT sous forme de barres verticales comme dans une visualisation de spectre de fréquence typique.
Le problème que j'avais était que les valeurs du signal audio changeaient trop rapidement pour produire une sortie visuelle agréable si je mappais directement les valeurs FFT:
J'applique donc une fonction simple aux valeurs afin de "lisser" le résultat:
// pseudo-code
delta = fftValue - smoothedFftValue;
smoothedFftValue += delta * 0.2;
// 0.2 is arbitrary - the lower the number, the more "smoothing"
En d'autres termes, je prends la valeur actuelle et la compare à la dernière, puis j'ajoute une fraction de ce delta à la dernière valeur. Le résultat ressemble à ceci:
Ma question est donc:
Est-ce un modèle ou une fonction bien établi pour lequel un terme existe déjà? Est-ce le cas, quel est le terme? J'utilise le "lissage" ci-dessus mais je suis conscient que cela signifie quelque chose de très spécifique dans DSP et peut ne pas être correct. En dehors de cela, cela semblait peut-être lié à une enveloppe de volume, mais pas tout à fait la même chose.
Existe-t-il de meilleures approches ou une étude plus approfondie des solutions à ce problème que je devrais examiner?
Merci pour votre temps et excuses si c'est une question stupide (en lisant d'autres discussions ici, je suis conscient que mes connaissances sont bien inférieures à la moyenne, il semble).