Esercizio - Esercitazione sulla DFT
In questa pagina 6
Testo (esercitazione di maggio, parte "Exercises on the DFT", corso Multimedia Signal Processing, UniPD). Cinque esercizi sulla DFT a punti, , e un sesto di riconoscimento di segnali e DFT da figure.
- con ; ottenuto con zero-padding. Calcolare ( valori) e verificare ; confrontare le DTFT di e ; calcolare la DTFT di in e confrontare con ; verificare , , , .
- (periodica): scriverla come somma di quattro esponenziali complessi e trovare la DFT a punti di .
- () con DFT a punti e con DFT a punti : confrontare e ; trovare tale che ; generalizzare a una sequenza di punti ottenuta con zeri e spiegare perché deve essere pari.
- ( reali non nulli), DFT a punti : (a) con DFT ; (b) per in funzione di ; (c) con DFT .
- (a) Il segnale a punti con per , altrimenti. (b) La DFT di , con intero tra e .
- Associare ciascuno di otto segnali discreti alla sua DFT (figura).
Teoria usata: Trasformata di Fourier discreta (DFT) e convoluzione circolareLa DFT di N campioni x[0..N-1] è X[k] = sum x[n] e^{-j2pi kn/N}, k = 0..N-1 (IDFT: x[n] = (1/N) sum X[k] e^{j2pi kn/N}); vede il segnale come periodico di periodo N e dà N campioni equispaziati della DTFT, cioè X(z) valutata sulle radici N-esime dell'unità. Se x ha durata M <= N non c'è aliasing temporale e lo zero-padding (N > M) infittisce solo i campioni della stessa DTFT. Proprietà: traslazione circolare, simmetria coniugata X[k] = X*[N-k], prodotto = convoluzione circolare. La convoluzione circolare coincide con la lineare solo se N >= Dx + M - 1; altrimenti la coda si ripiega sull'inizio. La FFT calcola la DFT con (N/2) log2 N moltiplicazioni invece di N^2.Trasformata di Fourier discreta (DFT) e convoluzione circolare →, Trasformata di Fourier a tempo discretoLa trasformata di Fourier di un segnale discreto è $S(f)=\sum_nT,s(nT),e^{-i2\pi fnT}$: una funzione continua e periodica in $f$ di periodo $F_p=1/T$. L'antitrasformata è l'integrale su un periodo, $s(nT)=\int_0^{F_p}S(f)e^{i2\pi fnT}df$. Le regole sono quelle del caso continuo (traslazione, convoluzione $\leftrightarrow$ prodotto, Parseval $\sum T|s|^2=\int_0^{F_p}|S|^2$), con incremento e somma corrente al posto di derivata e integrale. Per segnali reali $S(f)=S^*(-f)$, quindi basta $[0,F_p/2]$. Esempi: $\delta\to1$, $1\to\delta_{F_p}$, rect $\to$ sinc periodico, $a^n\mathbf 1_0\to\frac T{1-ae^{-i2\pi fT}}$.Trasformata di Fourier a tempo discreto →, Analisi spettrale con la DFT - finestre e leakageAnalizzare lo spettro di un segnale con la DFT vuol dire osservarne solo L campioni (finestra rettangolare) e campionare in frequenza la DTFT. Una sinusoide non dà una riga ma il nucleo di Dirichlet della finestra centrato in w0: lobo principale largo 4pi/L e lobi laterali (il primo a -13.3 dB). Due toni più vicini della mezza larghezza del lobo non si separano (risoluzione, che dipende solo da L), e i lobi laterali di un tono mascherano i toni deboli (leakage). La DFT campiona la DTFT a 2pi k/N: l'ampiezza è corretta solo se il tono cade su un bin (periodi interi nella finestra), altrimenti si perde fino a 3.9 dB; lo zero-padding infittisce i campioni ma non migliora la risoluzione. Le finestre rastremate (Hann, Hamming, Blackman) abbassano i lobi laterali (-31, -42, -58 dB) a prezzo di un lobo principale più largo.Analisi spettrale con la DFT - finestre e leakage →, Numeri complessi, formula di Eulero ed esponenziali complessiUn numero complesso si scrive in forma cartesiana a+jb o polare |x|e^{jφ}; il prodotto moltiplica i moduli e somma le fasi. La formula di Eulero e^{jα}=cos α + j sin α lega esponenziali e sinusoidi e permette di trattare tutti i segnali del corso come somme di esponenziali complessi e^{(σ+jω)t}.Numeri complessi, formula di Eulero ed esponenziali complessi →.
Esercizio 1
(a) ha due campioni non nulli, quindi per (con ): Calcolando:
| modulo | fase | ||
|---|---|---|---|
| 0 | |||
| 1 | |||
| 2 | |||
| 3 | |||
| 4 | |||
| 5 | |||
| 6 | |||
| 7 |
Verifica della simmetria coniugata: , , , e , reali ✓, perché è reale. Per esempio e .
(b) e hanno lo stesso supporto non nullo , quindi la stessa DTFT : lo zero-padding non cambia la trasformata, che non dipende da .
(d) I valori pari: , , , ✓. Lo zero-padding raddoppia il numero di campioni: quelli di indice pari coincidono con la DFT a punti, quelli dispari sono nuovi (interpolazione in frequenza). Tutti i valori sono stati verificati con Python (np.fft.fft a e punti).
Esercizio 2
Quattro esponenziali. Con e , :
DFT a punti. Un esponenziale ha DFT in (e altrove). Con e (indice ):
- : ;
- : ;
- : ;
- (): ;
- tutti gli altri .
Verificato con np.fft.fft (uniche componenti non nulle , , , ). La fase del secondo coseno compare nella fase di e con segno opposto in (simmetria coniugata).
Esercizio 3
(a) e . In : ✓ (la somma dei campioni non dipende da ).
(b) . Cerchiamo con : serve , cioè (). Quindi : l'indice a metà periodo, in entrambi i casi (, ), è la frequenza .
(c) Per un segnale a punti: . Si vuole , cioè , quindi e . Poiché deve essere intero, deve essere pari: per dispari la frequenza non coincide con nessun bin ( non è intero).
Esercizio 4
(a) Per un segnale reale, è la DFT del segnale riflesso (coniugare in un dominio = riflettere e coniugare nell'altro; qui è reale). Con : , , :
(b) è traslato circolarmente di : , . Per la proprietà di traslazione: (verificato numericamente: il rapporto vale ).
(c) , con del punto (a): il prodotto corrisponde alla convoluzione circolare . Entrambi hanno due elementi non nulli: ; ; ; tutti gli altri sono nulli ():
È l'autocorrelazione circolare di : simmetrica attorno a , con (, ✓ Parseval). Con , : (verificato con ifft(abs(fft(x))**2)).
Esercizio 5
(a) con solo e :
(b) Con e : ogni esponenziale ha DFT nel proprio indice, quindi Casi particolari (la soluzione del corso tratta solo ): se , e (le due righe coincidono: ); anche se ( pari) le due righe coincidono e , con . Esempio con : dà , dà (verificato con Python).
Esercizio 6 (riconoscere segnali e DFT)
L'esercizio usa figure non riprodotte qui; i criteri della soluzione del corso sono:
- impulso : DFT piatta ( per ogni );
- costante: un solo bin non nullo in ();
- coseno con periodi interi nella finestra: due righe (a e ); frequenza più alta = righe più lontane da ;
- coseno con periodi non interi (leakage): energia sparsa nei bin vicini invece di due righe;
- impulso rettangolare ( per ): DFT a forma di sinc, con lobi laterali che decrescono dal bin ;
- coseno per finestra rettangolare: due lobi larghi (sinc) centrati sulle frequenze del coseno, perché moltiplicare nel tempo equivale a convolvere in frequenza (Analisi spettrale con la DFT - finestre e leakageAnalizzare lo spettro di un segnale con la DFT vuol dire osservarne solo L campioni (finestra rettangolare) e campionare in frequenza la DTFT. Una sinusoide non dà una riga ma il nucleo di Dirichlet della finestra centrato in w0: lobo principale largo 4pi/L e lobi laterali (il primo a -13.3 dB). Due toni più vicini della mezza larghezza del lobo non si separano (risoluzione, che dipende solo da L), e i lobi laterali di un tono mascherano i toni deboli (leakage). La DFT campiona la DTFT a 2pi k/N: l'ampiezza è corretta solo se il tono cade su un bin (periodi interi nella finestra), altrimenti si perde fino a 3.9 dB; lo zero-padding infittisce i campioni ma non migliora la risoluzione. Le finestre rastremate (Hann, Hamming, Blackman) abbassano i lobi laterali (-31, -42, -58 dB) a prezzo di un lobo principale più largo.Analisi spettrale con la DFT - finestre e leakage →).
Versione ripasso
Esercizio 1 - zero-padding. , . Con : , quindi , , , . Simmetria perché è reale. La DTFT di è la stessa di , , e ne sono i campioni in . I valori pari coincidono con la DFT a punti: , , , .
Esercizio 2 - quattro esponenziali. è somma di e . Con : , , , , gli altri zero. Il compare nella fase di e con segno opposto in .
Esercizio 3 - sequenze di lunghezza diversa. , . . : , cioè . Per punti e solo se è pari.
Esercizio 4 - operazioni nel dominio della DFT (, ).
- (a) è la DFT di (segnale riflesso).
- (b) è traslato di : .
- (c) corrisponde a , autocorrelazione circolare. Con , : .
Esercizio 5. (a) con : , . (b) , con indici modulo . Casi particolari: per e per le due righe coincidono e nel bin.
Esercizio 6 - riconoscimento.
- impulso: DFT piatta, ;
- costante: solo ;
- coseno con periodi interi: due righe in e ;
- coseno con periodi non interi: leakage;
- rettangolare: DFT a sinc con lobi che decrescono.
Teoria: Trasformata di Fourier discreta (DFT) e convoluzione circolareLa DFT di N campioni x[0..N-1] è X[k] = sum x[n] e^{-j2pi kn/N}, k = 0..N-1 (IDFT: x[n] = (1/N) sum X[k] e^{j2pi kn/N}); vede il segnale come periodico di periodo N e dà N campioni equispaziati della DTFT, cioè X(z) valutata sulle radici N-esime dell'unità. Se x ha durata M <= N non c'è aliasing temporale e lo zero-padding (N > M) infittisce solo i campioni della stessa DTFT. Proprietà: traslazione circolare, simmetria coniugata X[k] = X*[N-k], prodotto = convoluzione circolare. La convoluzione circolare coincide con la lineare solo se N >= Dx + M - 1; altrimenti la coda si ripiega sull'inizio. La FFT calcola la DFT con (N/2) log2 N moltiplicazioni invece di N^2.Trasformata di Fourier discreta (DFT) e convoluzione circolare →, Trasformata di Fourier a tempo discretoLa trasformata di Fourier di un segnale discreto è $S(f)=\sum_nT,s(nT),e^{-i2\pi fnT}$: una funzione continua e periodica in $f$ di periodo $F_p=1/T$. L'antitrasformata è l'integrale su un periodo, $s(nT)=\int_0^{F_p}S(f)e^{i2\pi fnT}df$. Le regole sono quelle del caso continuo (traslazione, convoluzione $\leftrightarrow$ prodotto, Parseval $\sum T|s|^2=\int_0^{F_p}|S|^2$), con incremento e somma corrente al posto di derivata e integrale. Per segnali reali $S(f)=S^*(-f)$, quindi basta $[0,F_p/2]$. Esempi: $\delta\to1$, $1\to\delta_{F_p}$, rect $\to$ sinc periodico, $a^n\mathbf 1_0\to\frac T{1-ae^{-i2\pi fT}}$.Trasformata di Fourier a tempo discreto →, Analisi spettrale con la DFT - finestre e leakageAnalizzare lo spettro di un segnale con la DFT vuol dire osservarne solo L campioni (finestra rettangolare) e campionare in frequenza la DTFT. Una sinusoide non dà una riga ma il nucleo di Dirichlet della finestra centrato in w0: lobo principale largo 4pi/L e lobi laterali (il primo a -13.3 dB). Due toni più vicini della mezza larghezza del lobo non si separano (risoluzione, che dipende solo da L), e i lobi laterali di un tono mascherano i toni deboli (leakage). La DFT campiona la DTFT a 2pi k/N: l'ampiezza è corretta solo se il tono cade su un bin (periodi interi nella finestra), altrimenti si perde fino a 3.9 dB; lo zero-padding infittisce i campioni ma non migliora la risoluzione. Le finestre rastremate (Hann, Hamming, Blackman) abbassano i lobi laterali (-31, -42, -58 dB) a prezzo di un lobo principale più largo.Analisi spettrale con la DFT - finestre e leakage →, Numeri complessi, formula di Eulero ed esponenziali complessiUn numero complesso si scrive in forma cartesiana a+jb o polare |x|e^{jφ}; il prodotto moltiplica i moduli e somma le fasi. La formula di Eulero e^{jα}=cos α + j sin α lega esponenziali e sinusoidi e permette di trattare tutti i segnali del corso come somme di esponenziali complessi e^{(σ+jω)t}.Numeri complessi, formula di Eulero ed esponenziali complessi →.
Errori tipici:
- Dimenticare che lo zero-padding non cambia la DTFT, solo i campioni.
- Scrivere il coseno con senza il fattore o con la fase sbagliata.
- Nel punto 4(b) scrivere senza semplificare a .
- Nel punto 5 dimenticare che dà due righe, anche quando o .