DSP - Convoluzione sezionale DFT
Supponiamo che la sequenza di input x (n) di lunga durata debba essere elaborata con un sistema avente una risposta all'impulso di durata finita convolgendo le due sequenze. Poiché il filtraggio lineare eseguito tramite DFT implica un'operazione su un blocco dati di dimensione fissa, la sequenza di input è suddivisa in diversi blocchi dati di dimensione fissa prima dell'elaborazione.
I blocchi successivi vengono quindi elaborati uno alla volta ei risultati vengono combinati per produrre il risultato netto.
Poiché la convoluzione viene eseguita dividendo la lunga sequenza di input in diverse sezioni di dimensioni fisse, viene chiamata convoluzione sezionata. Una lunga sequenza di input viene segmentata in blocchi di dimensioni fisse, prima dell'elaborazione del filtro FIR.
Vengono utilizzati due metodi per valutare la convoluzione discreta:
Overlap-save method
Overlap-add method
Metodo di salvataggio sovrapposto
Overlap-save è il nome tradizionale di un modo efficiente per valutare la convoluzione discreta tra un segnale molto lungo x (n) e un filtro a risposta all'impulso finito (FIR) h (n). Di seguito sono riportati i passaggi del metodo di salvataggio Sovrapposizione:
Sia la lunghezza del blocco dati di ingresso = N = L + M-1. Pertanto, lunghezza DFT e IDFT = N. Ciascun blocco di dati trasporta punti dati M-1 del blocco precedente seguito da L nuovi punti dati per formare una sequenza di dati di lunghezza N = L + M-1.
Innanzitutto, viene calcolato DFT a N punti per ogni blocco di dati.
Aggiungendo (L-1) zeri, la risposta all'impulso del filtro FIR viene aumentata in lunghezza e il punto N DFT viene calcolato e memorizzato.
Moltiplicazione di due DFT a N punti H (k) e X m (k): Y ′ m (k) = H (k). X m (k), dove K = 0,1,2,… N-1
Quindi, IDFT [Y ′ m ((k)] = y ′ ((n) = [y ′ m (0), y ′ m (1), y ′ m (2), ....... y ' m (m-1), y' m (m), ....... y ' m (N-1)]
(qui, N-1 = L + M-2)
I primi punti M-1 sono danneggiati a causa dell'aliasing e quindi vengono scartati perché il record di dati è di lunghezza N.
Gli ultimi punti L sono esattamente gli stessi come risultato della convoluzione, quindi
y ′ m (n) = y m (n) dove n = M, M + 1,…. N-1
Per evitare l'aliasing, gli ultimi elementi M-1 di ciascun record di dati vengono salvati e questi punti vengono riportati al record successivo e diventano i primi elementi M-1.
Il risultato di IDFT, dove vengono evitati i primi punti M-1, per annullare l'aliasing ei punti L rimanenti costituiscono il risultato desiderato come quello di una convoluzione lineare.
Metodo di aggiunta sovrapposizione
Di seguito sono riportati i passaggi per scoprire la convoluzione discreta utilizzando il metodo Overlap -
Lascia che la dimensione del blocco di dati di input sia L. Pertanto, la dimensione di DFT e IDFT: N = L + M-1
Ogni blocco di dati viene aggiunto all'ultimo con zeri M-1.
Calcola DFT a N punti.
Si moltiplicano due DFT a N punti: Y m (k) = H (k). X m (k), dove k = 0 ,, 1,2,…., N-1
IDFT [Y m (k)] produce blocchi di lunghezza N che non sono influenzati dall'aliasing poiché la dimensione di DFT è N = L + M-1 e aumenta la lunghezza delle sequenze a N punti aggiungendo M-1 zeri a ciascuno bloccare.
Gli ultimi punti M-1 di ogni blocco devono essere sovrapposti e aggiunti ai primi punti M-1 del blocco successivo.
(motivo: ogni blocco dati termina con M-1 zeri)
Quindi, questo metodo è noto metodo di sovrapposizione-aggiunta. Quindi, otteniamo -
y (n) = {y 1 (0), y 1 (1), y 1 (2), ... .., y 1 (L-1), y 1 (L) + y 2 (0), y 1 (L + 1) + y 2 (1), ... ... .., y 1 (N-1) + y 2 (M-1), y 2 (M), ... .. . ... ... ...}