DSP - Convolution sectionnelle DFT

Supposons que la séquence d'entrée x (n) de longue durée soit traitée avec un système ayant une réponse impulsionnelle de durée finie en convoluant les deux séquences. Comme le filtrage linéaire effectué via DFT implique une opération sur un bloc de données de taille fixe, la séquence d'entrée est divisée en différents blocs de données de taille fixe avant le traitement.

Les blocs successifs sont ensuite traités un par un et les résultats sont combinés pour produire le résultat net.

Comme la convolution est effectuée en divisant la longue séquence d'entrée en différentes sections de taille fixe, elle est appelée convolution sectionnée. Une longue séquence d'entrée est segmentée en blocs de taille fixe, avant le traitement du filtre FIR.

Deux méthodes sont utilisées pour évaluer la convolution discrète -

  • Overlap-save method

  • Overlap-add method

Méthode d'enregistrement par chevauchement

Overlap – save est le nom traditionnel d'un moyen efficace d'évaluer la convolution discrète entre un signal très long x (n) et un filtre à réponse impulsionnelle finie (FIR) h (n). Voici les étapes de la méthode d'enregistrement par chevauchement -

Soit la longueur du bloc de données d'entrée = N = L + M-1. Par conséquent, la longueur DFT et IDFT = N. Chaque bloc de données porte M-1 points de données du bloc précédent suivis de L nouveaux points de données pour former une séquence de données de longueur N = L + M-1.

  • Tout d'abord, la DFT à N points est calculée pour chaque bloc de données.

  • En ajoutant (L-1) des zéros, la réponse impulsionnelle du filtre FIR est augmentée en longueur et N point DFT est calculé et stocké.

  • Multiplication de deux DFT à N points H (k) et X m (k): Y ′ m (k) = H (k) .X m (k), où K = 0,1,2,… N-1

  • Alors, 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)]

    (ici, N-1 = L + M-2)

  • Les premiers points M-1 sont corrompus en raison de l'aliasing et, par conséquent, ils sont supprimés car l'enregistrement de données est de longueur N.

  • Les derniers points L sont exactement les mêmes en raison de la convolution, donc

    y ′ m (n) = y m (n) où n = M, M + 1,… .N-1

  • Pour éviter le crénelage, les derniers éléments M-1 de chaque enregistrement de données sont sauvegardés et ces points sont reportés à l'enregistrement suivant et deviennent les 1 er éléments M-1.

  • Le résultat de l'IDFT, où les premiers M-1 points sont évités, pour annuler l'aliasing et les L points restants constituent le résultat souhaité comme celui d'une convolution linéaire.

Overlap Add, méthode

Vous trouverez ci-dessous les étapes pour connaître la convolution discrète en utilisant la méthode Overlap -

Soit la taille du bloc de données d'entrée L. Par conséquent, la taille de DFT et IDFT: N = L + M-1

  • Chaque bloc de données est ajouté avec M-1 zéros au dernier.

  • Calculez la DFT à N points.

  • Deux DFT à N points sont multipliés: Y m (k) = H (k) .X m (k), où k = 0 ,, 1,2,…., N-1

  • IDFT [Y m (k)] produit des blocs de longueur N qui ne sont pas affectés par l'aliasing car la taille de DFT est N = L + M-1 et augmente la longueur des séquences à N points en ajoutant M-1 zéros à chacun bloquer.

  • Les derniers points M-1 de chaque bloc doivent être superposés et ajoutés aux premiers points M-1 du bloc suivant.

    (raison: chaque bloc de données se termine par M-1 zéros)

    Par conséquent, cette méthode est connue comme méthode Overlap-add. Ainsi, nous obtenons -

    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), ... .. . ... ... ...}