In primo luogo, sono nuovo di DSP e non ho una vera istruzione, ma sto sviluppando un programma di visualizzazione audio e sto rappresentando un array FFT come barre verticali come in una tipica visualizzazione di spettro di frequenza.
Il problema che ho avuto è stato che i valori del segnale audio sono cambiati troppo rapidamente per produrre un piacevole risultato visivo se ho semplicemente mappato direttamente i valori FFT:
Quindi applico una semplice funzione ai valori per "appianare" il risultato:
// pseudo-code
delta = fftValue - smoothedFftValue;
smoothedFftValue += delta * 0.2;
// 0.2 is arbitrary - the lower the number, the more "smoothing"
In altre parole, sto prendendo il valore corrente e confrontandolo con l'ultimo, quindi aggiungendo una frazione di quel delta all'ultimo valore. Il risultato è simile al seguente:
Quindi la mia domanda è:
È un modello o una funzione ben consolidata per la quale esiste già un termine? È così, qual è il termine? Uso "smoothing" sopra, ma sono consapevole che ciò significa qualcosa di molto specifico in DSP e potrebbe non essere corretto. Diverso da quello che sembrava forse correlato a un inviluppo di volume, ma anche non esattamente la stessa cosa.
Esistono approcci migliori o ulteriori studi sulle soluzioni che dovrei esaminare?
Grazie per il tuo tempo e le tue scuse se questa è una domanda stupida (leggendo altre discussioni qui, sono consapevole che la mia conoscenza è molto inferiore alla media sembra).