DFT e segnali infiniti: incomprensione sull'Overlap Save

Messaggioda Dani_88 » 30/01/2011, 11:02

Ciao a tutti :)
Volevo gentilmente chiedervi qualche chiarimento sul metodo Overlap Save per eseguire convoluzione tra una risposta all'impulso h(n) lunga M, quindi finita, e un segnale x(n) infinito.
Innanzitutto ho capito che devo suddividere il segnale x(n) in tanti segnali \( \displaystyle x_{i}(n) \) di lunghezza L (solitamente mi pare di capire L > M), dopodichè a seconda se scelgo Overlap Add o Overlap Save opero in maniera diversa.
Nel metodo Overlap Save allungo h(n) con L-M zeri ed eseguo la convoluzione, ottenendo una "convoluzione circolare parziale" in cui i primi M-1 campioni sono errati e gli altri giusto, ovvero corrispondono alla convoluzione lineare.

Ora non riesco però a capire perchè i primi M-1 sono errati...se io prendo supponiamo \( \displaystyle x_{0}(n) \) e faccio la convoluzione con h(n) allungata, ribalto h(n) e inizio a spostarla, moltiplicare e sommare.
Non riesco a capire però perchè i primi M-1, ovvero in pratica il tempo che la h(n) ribaltata "entra tutta" dentro la \( \displaystyle x_{0}(n) \) , siano sbagliati...
Dani_88
Starting Member
Starting Member
 
Messaggio: 13 di 14
Iscritto il: 10/03/2010, 09:39

Re: DFT e segnali infiniti: incomprensione sull'Overlap Save

Messaggioda luca.barletta » 31/01/2011, 09:51

Dani_88 ha scritto:Ora non riesco però a capire perchè i primi M-1 sono errati...se io prendo supponiamo \( \displaystyle x_{0}(n) \) e faccio la convoluzione con h(n) allungata, ribalto h(n) e inizio a spostarla, moltiplicare e sommare.
Non riesco a capire però perchè i primi M-1, ovvero in pratica il tempo che la h(n) ribaltata "entra tutta" dentro la \( \displaystyle x_{0}(n) \) , siano sbagliati...


Sono sbagliati perché devi tener conto che la convoluzione è circolare, quindi gli ultimi campioni di \( \displaystyle x_{0}(n) \) convoluti con \( \displaystyle h(n) \) si fanno sentire sui primi campioni di \( \displaystyle x_{0}(n) \) , inficiando così la correttezza dei primi \( \displaystyle M-1 \) campioni della convoluzione.
Frivolous Theorem of Arithmetic:
Almost all natural numbers are very, very, very large.
Avatar utente
luca.barletta
Moderatore globale
Moderatore globale
 
Messaggio: 4163 di 4341
Iscritto il: 21/10/2002, 20:09

Messaggioda Dani_88 » 31/01/2011, 10:19

si dunque mi è chiara il concetto però non riesco diciamo a vederlo...diciamo che considerando \( \displaystyle x_{1}(n) \) come un periodo di \( \displaystyle \widetilde{x}_{1}(n) \) se io vado a fare la convoluzione tra le sequenze periodiche \( \displaystyle \widetilde{x}_{1}(n) \) e \( \displaystyle \widetilde{h}(n) \) in pratica ho che i campioni di x(n) sono presenti anche prima di 0 diciamo.
Quindi ribaltando h(n) inizio a moltiplicare e sommare roba che in realtà non dovrebbe esserci, ovvero la h(n) per gli ultimi campioni di x(n) che essendo periodica sono "subito prima di 0", corretto?
Non so quanto posso essere stato chiaro xrò non riesco a spiegarmi meglio xD xD però credo di aver capito...
Dani_88
Starting Member
Starting Member
 
Messaggio: 14 di 14
Iscritto il: 10/03/2010, 09:39

Messaggioda luca.barletta » 31/01/2011, 10:21

Sì, sei stato chiaro, è corretto quello che dici: avviene proprio così.
Frivolous Theorem of Arithmetic:
Almost all natural numbers are very, very, very large.
Avatar utente
luca.barletta
Moderatore globale
Moderatore globale
 
Messaggio: 4168 di 4341
Iscritto il: 21/10/2002, 20:09


Torna a Ingegneria

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite