La Trasformata di Fourier Discreta (DFT) 1. Sequenza x(n) lunga N ` e rappresentabile con sequenza periodica ˜ x(n) di periodo N , con andamento nel periodo identico a x(n); 2. x(n) ` e esattamente rappresentabile dai campioni della sua Z -trasformata X (z ), in quanto la sequenza periodica costruita campionando X (z ) in N punti equispaziati sul cerchio unitario ` e identica ai coefficienti della DFS di ˜ x(n). La sequenza che corrisponde a tali campioni di X (z ) ` e una versione di sequenza originale x(n) ripetuta periodicamente in modo che non vi ` e “aliasing” ⇓ Rappresentazione di una sequenza a durata finita come un periodo di una sequenza periodica. 107 A cura di M. Ruggieri, M. Pratesi
32
Embed
La Trasformata di Fourier Discreta (DFT) - Università ... · Questa`e: Trasformata discreta di Fourier ... Con frequenze ω = 2πk/N costituenti un adeguato campionamento delle trasfor-mate
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
La Trasformata di Fourier Discreta (DFT)
1. Sequenza x(n) lunga N e rappresentabile con sequenza periodica x(n) diperiodo N , con andamento nel periodo identico a x(n);
2. x(n) e esattamente rappresentabile dai campioni della sua Z-trasformataX(z), in quanto la sequenza periodica costruita campionando X(z) in Npunti equispaziati sul cerchio unitario e identica ai coefficienti della DFS dix(n). La sequenza che corrisponde a tali campioni di X(z) e una versionedi sequenza originale x(n) ripetuta periodicamente in modo che non vi e“aliasing”
⇓Rappresentazione di una sequenza a durata finita come un periodo di unasequenza periodica.
107 A cura di M. Ruggieri, M. Pratesi
La Trasformata di Fourier Discreta (DFT)
Sequenza periodica corrispondente a x(n):
x(n) =∑
r
x(n + rN) di periodo N
⇓ non c’e sovrapposizionetra gli x(n + rN)
x(n) = x(n modulo N) = x((n))N
⇓
x(n) ={
x(n) 0 6 n 6 N − 10 altrove
= x(n)RN (n)︸ ︷︷ ︸↓
RN (n) = sequenza rettangolare
={
1 0 6 n 6 N − 10 altrove
108 A cura di M. Ruggieri, M. Pratesi
La Trasformata di Fourier Discreta (DFT)
Si e visto che:x(n) periodo N ⇐⇒ X(k) periodo N
Per mantenere la dualita dei domini tempo-frequenza:
x(n) ≡ un periodo di x(n) ⇐⇒ X(k) coefficienti di Fourier ≡ un periodo di X(k)
⇓
cioe:
X(k) = X((k))N
X(k) = X(k)RN(k)
109 A cura di M. Ruggieri, M. Pratesi
La Trasformata di Fourier Discreta (DFT)
(analisi) X(k) =
N−1∑n=0
x(n)W knN 0 6 k 6 N − 1
0 altrove
(sintesi) x(n) =
1N
N−1∑k=0
X(k)W−knN 0 6 n 6 N − 1
0 altrove
Questa e: Trasformata discreta di Fourier(DFT - Discrete Fourier Transform)
x(n) DFT⇐⇒ X(k)
110 A cura di M. Ruggieri, M. Pratesi
Proprieta della DFT
Sono sostanzialmente analoghe al caso DFS, derivando dalla periodicita implicitanella rappresentazione di sequenze di durata finita con la DFT.
Se x1(n) ha durata N1 e x2(n) N2 ⇒⇒ x3(n) dura N3 = max{N1, N2}
⇒Le DFT vanno calcolate con N = N3
P.E. se N1 < N2 ⇒ X1(k) e DFT di x1(n) allungata con N2 −N1 zeri:
X1(k) =N1−1∑n=0
x1(n)W knN2
0 6 k 6 N2 − 1
X2(k) =N2−1∑n=0
x2(n)W knN2
0 6 k 6 N2 − 1
111 A cura di M. Ruggieri, M. Pratesi
Proprieta della DFT
Traslazione circolare di una sequenza
x(n)m
=⇒ x1(m)
Confronto tra (1) e (4), cioe x(n) e x1(n), mostra che
x1(n) non corrisponde a una traslazione lineare di x(n)
112 A cura di M. Ruggieri, M. Pratesi
Proprieta della DFT
In passaggio da x(n) a x(n+m): traslando x(n) e considerando intervallo (0, N−1],quando un campione esce dall’intervallo, un campione identico entra dall’altra parte
⇓
Si puo pensare di costruire x1(n) traslando x(n) in modo tale che ogni campioneche esce dall’intervallo [0, N − 1] da una parte vi entra dall’altra
⇓
x(n) di durata finita e immaginabile disposta lungo la circonferenza di un cilindrodi esattamente N punti. Percorrendo piu volte la circonferenza, si vede la sequenzax(n)
⇓traslazione lineare di x(n)
equivale arotazione del cilindro (traslazione “circolare”)
113 A cura di M. Ruggieri, M. Pratesi
Proprieta della DFT
Dunque, per la traslazione circolare:
x1(n) = x(n + m) = x((n + m))N
⇓ x(n) = x(n)RN (n)
x1(n) = x1(n)RN (n) = x((n + m))NRN (n)
Per trovare la relazione tra DFT{x(n)} e DFT{x1(n)}:
se x(n) DFS⇐⇒ X(k) e x1(n) = x(n + m) DFS⇐⇒ X1(k)
=⇒ X1(k) = W−kmN X(k) =⇒
=⇒ X1(k) = W−kmN X(k)
per la dualita tra i domini tempo-frequenza. Si ha:
Se e X1(k) = X((k + l))NRN (k)
⇓
x1(n) = W lnN x(n)
114 A cura di M. Ruggieri, M. Pratesi
Convoluzione circolare
Se x1(n)DFT⇐⇒ X1(k) e x2(n)
DFT⇐⇒ X2(k) con x1(n) e x2(n) di durata N :
x3(n) =
[N−1∑m=0
x1(m)x2(n−m)
]RN(n)︸ ︷︷ ︸
convoluzione circolare
m DFT
X3(k) = X1(k)X2(k)
115 A cura di M. Ruggieri, M. Pratesi
Convoluzione circolare
Differenza con “convoluzione lineare”:
• caso lineare: le due sequenze sono traslate (dopo il ribaltamento di unadelle due) successivamente l’una rispetto all’altra
• caso circolare: una sequenza si puo immaginare di disporla lungo lacirconferenza di un cilindro di N punti. L’altra sequenza, rovesciata, edisposta anch’essa su circonferenza di un cilindro con N punti.
Immaginando di porre un cilindro dentro l’altro, i successivi valori della convo-luzione si ottengono moltiplicando i valori su un cilindro per i corrispondentivalori sull’altro e sommando poi gli N prodotti risultanti.
⇓
116 A cura di M. Ruggieri, M. Pratesi
Convoluzione circolare
⇓Circolare
• convoluzione equivale alla costruzione di due sequenze periodiche e allaeffettuazione di una convoluzione “periodica”
Nella maggior parte delle applicazioni interessa calcolare la convoluzione lineare(p.e. filtraggio segnale vocale o radar)
⇓
Poiche metodo (4) porta a calcolo di convoluzione circolare, ci si deve accer-tare che tale convoluzione circolare produca l’effetto della desiderata convolu-zione lineare
124 A cura di M. Ruggieri, M. Pratesi
Convoluzione lineare basata sulla DFT
⇓Se x1(n) e x2(n) sono lunghe N :
x3(n) =N−1∑m=0
x1(m)x2(n−m) convoluzione lineare
Con x3(n) che puo avere 2N−1 punti diversi da zero (lun-ghezza pari a 2N − 1)
Se x3(n) si pensa ottenuta moltiplicando le DFT X1(k)e X2(k) di x1(n) e x2(n)
⇓
anche X1(k) e X2(k) devono essere calcolate sulla base di2N − 1 punti
⇓
X1(k) ,2N−2∑n=0
x1(n)W2N−1 , X2(k) ,2N−2∑n=0
x2(n)W2N−1
⇓
x3(n) =1
2N − 1
2N−2∑k=0
[X1(k)X2(k)W−nk
2N−1
]R2N−1(n)
con x3(n), dunque, convoluzione lineare di x1(n) e x2(n).
125 A cura di M. Ruggieri, M. Pratesi
Convoluzione lineare basata sulla DFT
• Si otterrebbe una convoluzione lineare anche se le DFT fossero calcolatesulla base di piu di 2N − 1 punti
• Convoluzione di due sequenze di durata diversa:se x1(n) lunga N1
x2(n) lunga N2
convoluzione e lunga N1 + N2 − 1
⇓
X1(k) e X2(k) vanno calcolate sulla base di N1 + N2 − 1 punti.
126 A cura di M. Ruggieri, M. Pratesi
Convoluzione lineare basata sulla DFT
• Convoluzione tra una sequenza a durata finita e una a durata infinita
Note:
– e generalmente impossibile il calcolo di una DFT su un numero elevatodi punti in modo da riutilizzare il caso di prima (sostituendo a sequenzadi durata ∞ una di durata molto elevata N2 � N1)
– in tal modo non si potrebbe calcolare alcun punto della sequenza filtrataprima di aver raccolto tutti i punti della sequenza d’ingresso! Tali ritardinella elaborazione sono, invece, generalmente da evitare.
• Per evitare ritardi ma usare ancora la DFT: si segmenta il segnale da filtrarein sezioni lunghe L
127 A cura di M. Ruggieri, M. Pratesi
Metodo di sovrapposizione e somma
Ogni segmento puo essere quindi convoluito con lah(n) finita e i segmenti filtrati congiunti infine unoall’altro in modo opportuno
⇓
Questo “filtraggio a blocchi” puo essere attuato usan-do DFT.
Pertanto:
LUNGA M
(n)x (n)h
(LUNGH. ∞)
1. x(n) scomposto in:
xk(n) ={
x(n) kL 6 n 6 (k + 1)L− 10 altrove
⇓
x(n) =∞∑
k=0
xk(n)
2. xk(n)⊗ h(n)
3. x(n)⊗ h(n) =∞∑
k=0
xk(n)⊗ h(n)
128 A cura di M. Ruggieri, M. Pratesi
Metodo di sovrapposizione e somma
Risposta all’impulso h(n) di durata finita e segnale x(n) da filtrare.
129 A cura di M. Ruggieri, M. Pratesi
Metodo di sovrapposizione e somma
Poiche xk(n) lunga L e h(n) lunga M
⇓
[xk(n)⊗ h(n)] lunga L + M − 1
⇓la convoluzione lineare xk(n)⊗h(n) ottenibile usandouna DFT di (L + M − 1) punti
Inoltre:distanza tra i campioni iniziali di due segmenti d’in-gresso adiacenti e di L punti
+
ogni segmento filtrato ha lunghezza L + M − 1
⇓
i punti diversi da zero nei segmenti filtrati si sovrap-pongono - nello svolgimento della:
x(n)⊗ h(n) =∞∑
k=0
xk(n)⊗ h(n)
di (M − 1) punti
130 A cura di M. Ruggieri, M. Pratesi
Metodo di sovrapposizione e somma
Il metodo e detto “di sovrapposizione e somma” poiche:
1. i segmenti filtrati sono sovrapposti, dal momento che la con-voluzione lineare x(n) ⊗ h(n) e, in generale, piu lunga delsegmento k-simo;
2. sommati per ottenere l’uscita.
131 A cura di M. Ruggieri, M. Pratesi
Metodo di sovrapposizione e somma
(a) Scomposizione di x(n) in segmenti non sovrapponen-tisi di lunghezza L;
(b) risultato della convoluzione di ogni segmento con h(n).
132 A cura di M. Ruggieri, M. Pratesi
Metodo di sovrapposizione ed estrazione
Metodo alternativo:
di sovrapposizione e estrazione
consiste nel calcolo di convoluzione circolare traxk(n) e h(n), identificandone la parte corrispon-dente a una convoluzione lineare.
In particolare:
• se h(n) e lunga M e se ne effettua la con-voluzione circolare con un segmento di x(n)lungo N
⇓i primi (M−1) punti di tale convoluzione nonsono corretti, mentre i rimanenti sono gli stessiche si otterrebbero dalla convoluzione lineare
⇓
conviene segmentare x(n) in blocchi di lun-ghezza N in modo che ogni segmento di in-gresso si sovrapponga al precedente per M−1punti
⇓
133 A cura di M. Ruggieri, M. Pratesi
Metodo di sovrapposizione ed estrazione
⇓• si definiscono gli xk(n) come:
xk(n) = x0(n+k(N−M+1)) 0 6 n 6 N−1
– con x0(n) ottenuta da x(n) ponendovi M−1zeri iniziali ⇒ x0(n) = x(n−M + 1)
– N.B. l’origine temporale di ogni segmento eposta all’inizio del segmento stesso piuttostoche coincidente con l’origine di x(n), effet-tuando dunque traslazioni a sinistra di k[N−(M − 1)] = k(N −M + 1) posizioni
• se y′k(n) indica la convoluzione circolare delk-mo segmento di x(n) con h(n)
⇓
in ogni sequenza d’uscita; si scarta la parte per0 6 n 6 M − 2
Punti che restano dalle sequenze di uscita devono essere congiunti gli uni aglialtri per ottenere l’uscita filtrata finale
=⇒ y(n) =∞∑
k=0
yk[(n− k(N −M + 1))(∗)+ (M − 1︸ ︷︷ ︸
(∗∗)
)]
(∗) si effettuano, dunque, traslazioni a destra delle yk(n) di k[N − M + 1]posizioni
(∗∗) → ritraslati a sinistra per eliminare zeri di y′0(n)
con yk(n)︸ ︷︷ ︸(∗∗∗)
=
{y′k(n) M − 1 6 n 6 N − 10 altrove
(∗ ∗ ∗) → durata: N − 1−M + 1 + 1 = N −M + 1
136 A cura di M. Ruggieri, M. Pratesi
Metodo di sovrapposizione ed estrazione
Il nome del metodo deriva dal fatto che ogni successivo segmentodi ingresso consiste in N −M +1 nuovi punti e M −1 conservatidal segmento precedente.
(a) Scomposizione di x(n) in segmenti sovrapponibili di lunghez-za N ;
(b) risultato della convoluzione circolare di ogni segmento conh(n). Sono anche indicate le porzioni da scartare per ognisegmento filtrato allo scopo di ottenere la convoluzione lineare.