L'analisi spettrale FFT

Tecniche e strumenti di misura, test di varia natura
Messaggio
Autore
carlochiarelli
Messaggi: 561
Iscritto il: 04/08/2018, 13:14
Il mio Impianto: Autocostruito

Re: L'analisi spettrale FFT

#11 Messaggio da carlochiarelli » 30/09/2019, 18:57

Il Data 6000 ! Che ricordi... Quando lo provammo in facoltà la prima volta c’era un marine degli USA a piantonarlo.

Avatar utente
MarioBon
Amministratore del forum
Messaggi: 6532
Iscritto il: 24/11/2016, 13:13
Il mio Impianto: Opera/Unison - molto variabile
Località: Venezia
Contatta:

Re: L'analisi spettrale FFT

#12 Messaggio da MarioBon » 01/10/2019, 11:08

Per la prima parte siamo a posto. Quello è il padding necessario per adattare la durata di un segnale (che inizia e finisca a zero) con la durata della finestra di acquisiszne.
Se devi acquisire una sinusoide a 1000 Hz non puoi campianare a meno di 2000Hz e se tu volessi vedere distorsione di seconda armonica, dovresti campionare a 4000Hz o a 6000Hz per vedere la terza armonica. Se vuoi vedere la decima armonica (10kHz) devi campionare al minimo a 20kHz. La frequenza di campionamento deve essere sempre almeno il doppio della massima frequenaza contenuta nel segnale. Per i 1000Hz, al minimo devi acquisire un periordo intero ovvero un millesimo di secondo. Il resto viene di conseuenza. Campionando a 20kHz acquisirai 20 campioni che non è una poteza di 2. Qundi devi acquisire 32 campioni ovvero campionare a 32kHz.
Mario Bon http://www.mariobon.com
"Con delizia banchettiamo con coloro che volevano assoggettarci" (Adams Family)

Avatar utente
TomCapraro
Amministratore del forum
Messaggi: 6899
Iscritto il: 25/11/2016, 12:37
Località: Agrigento

Re: L'analisi spettrale FFT

#13 Messaggio da TomCapraro » 01/10/2019, 14:05

Carlo ha scritto:facciamo l'esame per vedere se sono promosso
Supponiamo che debba fare la fft a 1048576 su un brano di musica che dura 23 secondi dovrò aggiungere in testa e in coda altri 17138 campioni per un totale di 34276 campioni aggiunti a quelli della durata di 23 secondi ?
Mentre per quelli periodici per ipotesi fino a 1000 hertz dovrei campionare 2048 campioni alla frequenza di 102 e passa hertz ? ma visto che quella frequenza di campionamento cosi bassa non viene usata utilizzerei una frequenza piu alta allungando i campioni nulli fino a raggiongere 879952 oppure allungare il segnale acquisito purchè complessivamente si arrivi ad un totale di 1048576 campiomi ?
Alla fine è un ragionamento di tipo "logico/matematico".
Se il "mezzo di acquisizione" (immagino una scheda audio) campiona con una frequenza minima di 44.1khz e non vuoi/puoi salire oltre una determinata taglia della FFT, dovrai dividere la size FFT per 44100 per ottenere un ipotetica lunghezza del segnale.

ES: 524288 (che è la size FFT) diviso 44100 = 11,888 secondi.

Non dovrai fare altro che acquisire almeno 12 secondi di segnale e infine tagliare i campioni superflui in modo che il totale dei campioni risulti dello stesso numero della size FFT, quindi 524288.
Per un acquisizione a 96khz di un segnale di circa 11 secondi serve un analisi con size FFT a 1.048576.

Partendo come punto di base, se poi vuoi contenere ulteriormente la size FFT, dovrai dividerla per la frequenza di campionamento e accorciare il segnale. (per la "classica" size FFT a 65536 basta un acquisizione inferiore al secondo e mezzo se campionato alla frequenza di 44.1khz.)

Alla fine se ci prendi la mano non è difficile.

p.s tutto questo secondo il "rigore" della valutazione oggettivamente scientifica....poi c'è chi fa anche le "stime" e approssimazioni...se non addirittura misure arraffazzonate. (ma non sono misure)
saluti, Tom

carlochiarelli
Messaggi: 561
Iscritto il: 04/08/2018, 13:14
Il mio Impianto: Autocostruito

Re: L'analisi spettrale FFT

#14 Messaggio da carlochiarelli » 01/10/2019, 19:24

Certo che quando si scende tanto con la dimensione della FFT allora conviene finestrare, ovviamente con segnale Non con periodi interi nella finestra di acquisizione.
Ultima modifica di carlochiarelli il 01/10/2019, 19:45, modificato 1 volta in totale.

Avatar utente
TomCapraro
Amministratore del forum
Messaggi: 6899
Iscritto il: 25/11/2016, 12:37
Località: Agrigento

Re: L'analisi spettrale FFT

#15 Messaggio da TomCapraro » 01/10/2019, 19:38

I 3D debbono proseguire per due motivi:

1) perchè qualche utente chiede informazioni e vuole imparare cose giuste (almeno secondo l'applicazione corretta della teoria dei segnali)

2) perchè c'è chi si spaccia come "misuratore" quando in realtà fa delle grandi pastrocchiate.

Essendo la richiesta d'informazioni relativa ai segnali elettrici, dove la precisione e lo scarto dev'essere contenuto entro una forbice molto stretta, applicare l'analisi della FFT con finestre sbagliate comporta la variazione -erronea-di "parecchi dB".

Basta osservare come con una minima variazione del "padding" e del size FFT (il che vuol dire disincronizzare il numero di campioni con la size FFT) il risultato della risposta in frequenza (analizzata su FFT) cambia in modo considerevole.

In molti punti dello spettro si sfiorano i 2dB di differenza.

Immaginate un confronto tra due registrazioni, tra due dac, due ampli, preamplificatori ect... ect...

Dunque con l'applicazione corretta possiamo ottenere misure precise e oggettivamente attendibili, visto che per sincronizzare i campioni con l'analizzatore di spettro ci vuole un attimo, bisognerebbe farlo.

Qui sotto l'overlay di due FFT effettuate con size sincronizzato e con size disincronizzato (502644 samples al posto di 524288 su size FFT a 65536).

Due risultati palesemente "diversi" quando in realtà i segnali sono, non solo identici, ma pure -bit-perfect-

Reference: RUMORE ROSA 24-44.1khz X FFT 524288.wav[L] 524288 samples 44100Hz 24bits, stereo, MD5=00
Comparison: popo.wav[L] 502644 samples 44100Hz 24bits, stereo, MD5=00
Settings:
Gain:False, Remove DC:False
Non-linear Gain EQ:False Non-linear Phase EQ: False
EQ FFT Size:524288, EQ Frequency Cut: 15Hz - 26000Hz, EQ Threshold: -160dB
Correct Drift:False, Precision:30
Non-Linear drift Correction:False
Upsample:False, Window:Hann
Spectrum Window: Spectrum Size: 524288
Spectrogram Window:Hann, Spectrogram Size:4096, Spectrogram Steps:2048
Dither:False
Trim Silence:False
Enable Simple Waveform Measurement: False

Discarding Reference: Start=0s, End=0s
Discarding Comparison: Start=0s, End=0s

Initial peak values Reference: -2,757dB Comparison: -2,757dB
Initial RMS values Reference: -16,425dB Comparison: -16,242dB

Null Depth=9,601dB
X-Correlation offset: 11411 samples

Trimmed 0 samples ( 0,00ms) front, 0 samples ( 0,00ms end)

Gain matching disabled.
Phase offset=258,752834ms (11411 samples)
Difference (rms) = -300dB [-300dBA]
Correlated Null Depth=300dB [300dBA]
Clock drift: 0 ppm


Files are a bit-perfect match at 16 bits
Files are a bit-perfect match at 24 bits


---- Phase difference (full bandwidth): 0°
0-10kHz: 0,00°
0-20kHz: 0,00°
0-24kHz: 0,00°
Timing error (rms jitter): 0sec

RMS of the difference of spectra: NaNdB
gn=1, dc=0, dr=0, of=11411


Tutto questo con la "sola" riduzione di un determinato numero di campioni (nulli ovviamente) e la modifica della size FFT.
Immaginate adesso la misura corretta, secondo un procedimento correttamente sincronizzato, e "quante misure di risposta in frequenza" potrebbero scaturire da una serie di disincronizzazioni tra size FFT e con il corrispettivo numero di campioni. (per non parlare poi dell'applicazione delle finestre di pesatura quando NON andrebbero applicate)

Immagine
saluti, Tom

Avatar utente
MarioBon
Amministratore del forum
Messaggi: 6532
Iscritto il: 24/11/2016, 13:13
Il mio Impianto: Opera/Unison - molto variabile
Località: Venezia
Contatta:

Re: L'analisi spettrale FFT

#16 Messaggio da MarioBon » 03/10/2019, 11:07

Torniamo sull'argomento finestre nel tempo. Qui di seguito due misure ottenute nel campo vicino di un woofer (così gli effetti dell'ambinete sono praticamente assenti). La prima è stata ripresa correttamente acquisendo un numero di campioni pari allo pseudoperiodo e senza applicare finestre di pesatura (finestra rettangolare). La seconda è uguale alla prima tranne per l'applicazione della finestra di pesatura Hanning. Come si vede l'applicazione della finestra non milgiora la qualità del risultato anzi la peggiora (anche nei terzi di ottava). Questo avviene perchè le finestre di pesatura vanno usate esclusivamente quando non è possibile acquisire un intero periodo di un segnale.
Immagine

Dato che le misure si eseguono tutte in regime forzata (alimentando il dispositivo con un segnale esterno) basta generare i segnali rispettando le regole che consentono di ottenere la FFT.
Quindi, per fare misure, è importante lo strumento ma è ancora più importante il segnale che viene impiegato.
Mario Bon http://www.mariobon.com
"Con delizia banchettiamo con coloro che volevano assoggettarci" (Adams Family)

Avatar utente
MarioBon
Amministratore del forum
Messaggi: 6532
Iscritto il: 24/11/2016, 13:13
Il mio Impianto: Opera/Unison - molto variabile
Località: Venezia
Contatta:

Re: L'analisi spettrale FFT

#17 Messaggio da MarioBon » 03/10/2019, 11:23

L'immagine che segue rappresenta la risposta di un tweeter con e senza filtri (ripresa a 30 cm di dstanza e limitata a 16kHz) la parte in verde è la Distorsione Integrale. Si noti come il filtro passa alto produca la decisa riduzione della intermodulazione su tutta la gamma. Questa misura di Distorsione Integrale usa un segnale multitono spettralmente molto denso e mostra, nel dettaglio, sia la risposta in frequenza che la distorsione. E' quindi molto "comoda" anche perchè è il risultato di una unica misura. Questo si fa se si possono generare (e processare) i segnali adatti. In questo modo si può stabilire agevolmente la minima frequenza di taglio di un tweeter o di un medio.
Immagine
La Distorsione integrale mostra, contemporaneamente, tutte le forme di distorsione. Con questa tecnica (che non si trova in letteratura) si può misurare la distorsione anche utilizzando segnali musicali. Dato però che il segnale musicale produce meno distorsione rispetto al segnale multitono denso ci si può accontentare di questa misura sapendo che rappresenta il caso peggiore.
Di fronte a questa misura, la sola misura di distorsione armonica (specie se limitata alla sola seconda e terza arminica) appare superata e sostanzialmente inutile in quanto non rappresentativa delle effettive condizioni d'uso. Se l'ambiente è abbastanza silenzioso la misura può essere condotta anche dal punto di ascolto (e anche con due canali contemporaneamente funzionanti).

P.S. A bassa frequenza si vede un po' di rumore ambientale perché non è stato applicato, in questo caso, il filtro passa alto antirumore.
Mario Bon http://www.mariobon.com
"Con delizia banchettiamo con coloro che volevano assoggettarci" (Adams Family)

Avatar utente
TomCapraro
Amministratore del forum
Messaggi: 6899
Iscritto il: 25/11/2016, 12:37
Località: Agrigento

Re: L'analisi spettrale FFT

#18 Messaggio da TomCapraro » 03/10/2019, 19:21

...per forza Mario.

Una cosa è l'analisi precisa e sincronizzata.

(qui sotto il risultato in digitale che si deve ottenere da un segnale pseudo periodico con finestra rettangolare)

Immagine

e qui passando alla finestra Blackman Harris

Immagine

Dal risultato digitale (pulito) si analizza con precisione quello acustico.

Mentre con la finestra attivata, ne viene fuori una sorta di randomizzazione con la somma degli errori tra segnale digitale e responso acustico.

La prima può definirsi misura, la seconda un approssimazione.

Forse il neofita di cui parli dovrebbe rivedere l'intero archivio personale visto che le "misure" sono tutte approssimate.
saluti, Tom

Carlo
Messaggi: 180
Iscritto il: 20/04/2019, 22:54
Il mio Impianto: sorgente PC
Dac project
Pre ARCAM FMJ C 49
Finale ARCAM FMJ P 49
Diffusori ProAc D48 response ribbon
cavi autocostruiti schermati

Re: L'analisi spettrale FFT

#19 Messaggio da Carlo » 03/10/2019, 23:22

Ho cercato di provare quello che avete scritto ma credo ci sia un problema, sicuramente per colpa mia
Segnale noise periodic generato con rew a 64k e visualizzato con la fft di audacity settata a 65536, perchè settando la funzione rettangolare mi esce questo ? :?

Immagine

Avatar utente
TomCapraro
Amministratore del forum
Messaggi: 6899
Iscritto il: 25/11/2016, 12:37
Località: Agrigento

Re: L'analisi spettrale FFT

#20 Messaggio da TomCapraro » 04/10/2019, 0:52

Mi sembra impossibile, anche se tu avessi generato un segnale pseudoperiodico con meno di 0,7 secondi (che equivale ad un periodo su 96khz di frequenza di campionamento analizzabile a 65536) avresti dovuto ottenere lo stesso righello decrescente che hai visto nel mio post.
Le cose sono due: o il periodo è inferiore, quindi non contiene tutti i campioni (65536/96000 = 0,6826666666666667 secondi) oppure c'è qualcosa sbagliata nel settaggio del programma audacity o programma con cui hai generato il segnale.

A proposito, cosa hai usato per generare il segnale ? (e come era esattamente settato)
saluti, Tom

Rispondi

Chi c’è in linea

Visitano il forum: Bing [Bot] e 2 ospiti