SONAR-INFO-p231




Calcolatore della DFT
Discrete Fourier Transform



1) Generalità

L'integrale di Fourier, o trasformata di Fourier, il cui algoritmo è mostrato in figura 1:

figura 1

consente, per via esclusivamente matematica, l'analisi dei fenomeni transitori di legge nota, F(t), funzioni del tempo, quali ad esempio l'impulso di sinusoidi di figura 2.

figura 2

mediante la determimazione del loro spettro di frequenza G ( w ) mostrato in figura 3.

figura 3

Se dell'impulso da analizzare non si conosce la legge F(t), come ad esempio per l'impulso casuale mostrato in figura 4:

figura 4

la trasformata di fourier non è applicabile; è sostituibile, con buona approssimazione, dall'algoritmo DFT ( Discrete Fourier Transform ) che computa il modulo dello spettro, secondo l'espressione di figura 5.

figura 5

Per un numero finito di campioni prelevati dall'impulso, mostrati in rosso in figura 6a:

figura 6a

la DFT computa un numero finito di valori del modulo della G(w) così come riportato in figura 6b:

figura 6b

Ragione di questa pagina è l'illustrazione di un caratteristico file di calcolo in grado di computare e tracciare il modulo dello spettro di un impulso qualsiasi secondo l'algoritmo della DFT.
Maggiori chiarimenti sulla DFT sono disponibili sull'estratto dal testo di pagina p11 al seguente capitolo in pdf: Capitolo 8

2) Per il computo della DFT: le variabili da inserire a calcolo

Le variabili da inserire nel sistema di calcolo della DFT, evidenziate nell'algoritmo di figura 5, sono ora esposte e commentate in modo dettagliato secondo figura 7 iniziando dall'algoritmo fisicamente implementato nel software nel calcolatore:


figura 7

3) Esempio d'impostazione delle variabili di cui al paragrafo 2)

Siano da determinare le variabili da mettere a calcolo per la costruzione del modulo dello spettro dell'impulso mostrato in figura 8 dal quale si dovranno ricavare un certo numero di campioni k ; da p1 a pk.

figura 8

Le caratteristiche temporali dell'impulso siano: T/2 = 0.005 Sec. quindi T = 0.01 Sec.

Si voglia il campo di frequenza d'analisi compreso tra 0 e 1000 Hz: quindi Fmax = 1000

Si voglia una definizione d'analisi in frequenza a passi di 25 Hz, quindi DF = 25 Hz

In base ai dati esposti si calcolano:
Il numero dei campioni da prelevare dall'impulso: k = 2 T Fmax = 2 * 0.01 Sec. * 1000 Hz = 20

Il valore di N: N = 2 Fmax/DF = 2 * 1000 / 25 = 80

Il numero dei campioni che rappresenteranno il modulo dello spettro: q = Fmax/DF = 1000/25 = 40

Da rilievi su figura 8 si annotano le ampiezze dei k valori dei campioni dell'impulso, da p1 a p20, evidenziati con righe rosse; questi saranno inseriti a calcolo l'uno dopo l'altro.

4) Il pannello operativo del calcolatore DFT

Al'avvio del file eseguibile Calcolatore DFT sul P.C. si presenta il pannello operativo del calcolatore che riportiamo in figura 9 con una serie di numeri in rosso per consentire l'identificazioni delle diverse sezioni:

figura 9

Sezione 1 (ingresso dati) :
La sezione contiene 3 textbox nei quali inserire, l'una dopo l'altra, le seguenti variabili:
Durata dell'impulso da analizzare espressa con T (Sec.)
Estremo della frequenza d'analisi espressa con Fmax (Hz)
Intervallo voluto tra due campioni dello spettro con DF (Hz)
Pulsante " Dati a calcolo" per l'avvio delle computazioni indicate nel paragrafo 3)
Due label per l'indicazione dei valori calcolati:
k ( numero dei campioni da ricavare dall'impulso)
q ( numero dei campioni che definiranno il modulo dello spettro di frequenza)
Al lancio del programma sono predisposti, in via provvisoria, i seguenti dati: T = 0.01 Sec; Fmax = 1000 Hz; DF = 1 Hz

Sezione 2: (ingresso campioni impulso)
La sezione contiene un label, a sinistra, che indica il numero progressivo dei campioni dell'impulso da analizzare e un textbox, a destra, per l'inserzione delle ampiezze dei diversi campioni dell'impulso.
Un pulsante "Ingresso campioni" per l'inserzione progressiva dei valori sopra citati ed un pulsante " Azzeramento memorie" per la ripetizione, se necessario, dell'inserzione dati.

Sezione 3: ( presentazione spettro)
La sezione contiene il pulsante "Calcolo e presentazione spettro normalizzato " per l'avvio del programma di calcolo e presentazione grafica del modulo della DFT.

Sezione 4: ( reticolo cartesiano per il tracciamento del modulo dello spettro)
In ascisse, la frequenza d'analisi Fmax divisa in 40 intervalli, con label indicativo dell'entità di ciascun intervallo in Hz/Div.
In ordinate l'ampiezza dello spettro, in forma normalizzata in 20 intervalli da 0.05/Div.
Il grafico dello spettro, rappresentando l'ampiezza del modulo, sarà sempre positivo

Sezione 5: (funzioni di controllo))
Con due pulsanti distinti è possibile tracciare il modulo dello spettro di due impulsi caratteristici:
Impulso rettangolare (ottenuto da calcolo per via analitica)
Impulso triangolare (ottenuto da calcolo per via analitica)
Questa sezione è utile per prendere confidenza, come vedremo, con il sistema di calcolo.

5)Primo esempio di calcolo DFT con controllo analitico

Per iniziare è utile l'utilizzo dei valori di base assegnati al calcolatore al momento dell'avvio, come mostra la figura 10 della sezione 1; con questi valori calcoleremo lo spettro di un impulso rettangoare:

figura 10

per : T = 0.01 Sec. - Fmax = 1000 Hz - DF = 1 Hz,
dopo la pressione del pulsante "dati di calcolo", si ha : k = 20 ; q = 1000 ; dal calcolo emerge che sono necessari K = 20 campioni dell'impulso
Quindi: ampiezza E = 1, durata T = 0.01 Sec., k = 20.
I campioni dell'impulso, tutti uguali ad 1, sono inseriti in sezione 2 digitando nel textbox il primo di ampiezza 1 e di seguito, lasciando tale valore inalterato, premendo il pulsante "ingresso campioni" , s'inseriscono tutti gli altri 19 fino a quando il pulsante citato diventa rosso; vedi figura 11

figura 11

Con la successiva pressione del pulsante di sezione 3, si ha la presentazione del modulo dello spettro come riportato in figura 12 con traccia in color viola:

figura 12

Per controllare la correttezza del processo DFT che ha portato allo spettro di figura 12 si può agire sulla sezione 5; pulsante " Controllo per impulso rettangolare" che consente, per la via puramente analitica mostrata in figura 13,

figura 13

il tracciamento di una nuova curva di colore verde che, se il processo DFT svolto sarà corretto, si dovrà sovrapporre, con buona approssimazione, alla curva viola così come mostra figura 15:

figura 15

6)Secondo esempio di calcolo DFT con controllo analitico

Utilizziamo sempre i valori di base assegnati al calcolatore al momento dell'avvio, come mostra la figura 10 della sezione 1, impostiamo in questo esempio il calcolo dello spettro di un impulso triangolare:

figura 10

per : T = 0.01 Sec. - Fmax = 1000 Hz - DF = 1 Hz,
dopo la pressione del pulsante "dati di calcolo", si ha : k = 20 ; q = 1000 .
L'impulso triangolare che vogliamo analizzare, della durata T = 0.01 sec. ha un profilo definito dalla seguente sequenza di 20 valori:
0.1; 0.2; 0.3; 0.4; 0.5; 0.6; 0.7; 0.8; 0.9; 1; 0.9; 0.8; 0.7; 0.6; 0.5; 0.4; 0.3; 0.2; 0.1; 0
i campioni sono inseriti in sezione 2 digitando nel textbox il primo di ampiezza 0.1 ed in successione tutta la sequenza sopra scritta premendo il pulsante "ingresso campioni" fino a quando il pulsante citato diventa rosso.
Con la successiva pressione del pulsante di sezione 3, si ha la presentazione del modulo dello spettro come riportato in figura 16 con traccia in color viola:

figura 16

Per controllare la correttezza del processo DFT che ha portato allo spettro di figura 16 si può agire sulla sezione 5; pulsante " Controllo per impulso triangolare" che consente, per la via puramente analitica mostrata in figura 17,

figura 17

il tracciamento di una nuova curva di colore verde che, se il processo DFT svolto sarà corretto, si dovrà sovrapporre alla curva viola così come mostra figura 18:

figura 18

7)Esempio di calcolo DFT senza controllo analitico

Sia dato l'impulso di figura 19, di forma non codificata, del quale valutare lo spettro di frequenza mediante DFT:

figura 19

I dati relativi all'impulso siano:
Durata: T = 0.0125 Sec.
Ampiezza massima: E = 1
Massima frequenza voluta nella DFT: Fmax = 1000 Hz
Intervallo tra i campioni dello spettro: DF = 2 Hz
I valori calcolati nella sezione 1 sono riportati in figura 20:

figura 20

Dal calcolo emerge che sono necessari K = 25 campioni dell'impulso; questi, ricavati da figura 19 sono mostrati in figura 21:

figura 21

Questi valori, messi a calcolo nella sezione 2, portano al modulo dello spettro di figura 22:

figura 22

8)Esempio di calcolo DFT per impulso di segnale sinusoidale

Nel caso in cui l'impulso contenga una componente sinusoidale: A Cos(6,28 * fo * t), come mostrato in figura 22

figura 22

il processo di calcolo della DFT è simile a quelli in precedenza illustrati salvo il fatto che la massima ampiezza dello spettro non sarà per f = 0 ma per f = fo come mostra figura 22.

Consideriamo ora un impulso del tipo riportato in figura 22 che abbia le seguenti caratteristiche:
Durata: T = 0.01 Sec.
Frequenza all'interno dell'impulso: fo = 400 Hz
Frequenza massima dello spettro voluto: Fmax = 1000 Hz
Intervallo tra i campioni dello spettro: DF = 2 Hz
Nella sezione 1, per T = 0.01 Sec, Fmax = 1000 Hz, DF = 2 Hz, si ha K = 20:
I 20 campioni richiesti si ottengono dalla funzione:
Y = A Cos(6.28 * fo * t) dove A = 1, fo = 400 Hz, t = 0.5 mSec/campione
così come mostra la tabella di figura 23:

figura 23

Lo spettro dell'impulso, calcolato tra F = 0 e Fmax = 1000 Hz si presenta come in figura 25:

figura 25




Home

Stampa immagine grafica o descrizione testuale