DSP - Convolución seccional DFT

Suponga que la secuencia de entrada x (n) de larga duración debe procesarse con un sistema que tiene una respuesta de impulso de duración finita convolucionando las dos secuencias. Dado que el filtrado lineal realizado mediante DFT implica la operación en un bloque de datos de tamaño fijo, la secuencia de entrada se divide en diferentes bloques de datos de tamaño fijo antes del procesamiento.

Luego, los bloques sucesivos se procesan uno a la vez y los resultados se combinan para producir el resultado neto.

Como la convolución se realiza dividiendo la secuencia de entrada larga en diferentes secciones de tamaño fijo, se denomina convolución seccionada. Una secuencia de entrada larga se segmenta en bloques de tamaño fijo, antes del procesamiento del filtro FIR.

Se utilizan dos métodos para evaluar la convolución discreta:

  • Overlap-save method

  • Overlap-add method

Método de guardado superpuesto

Overlap-save es el nombre tradicional para una forma eficiente de evaluar la convolución discreta entre una señal muy larga x (n) y un filtro de respuesta de impulso finito (FIR) h (n). A continuación se muestran los pasos del método de guardado de superposición:

Sea la longitud del bloque de datos de entrada = N = L + M-1. Por lo tanto, longitud de DFT e IDFT = N. Cada bloque de datos lleva M-1 puntos de datos del bloque anterior seguidos de L nuevos puntos de datos para formar una secuencia de datos de longitud N = L + M-1.

  • Primero, se calcula la DFT de N puntos para cada bloque de datos.

  • Añadiendo ceros (L-1), la respuesta al impulso del filtro FIR aumenta en longitud y la DFT de N puntos se calcula y almacena.

  • Multiplicación de dos DFT de N puntos H (k) y X m (k): Y ′ m (k) = H (k) .X m (k), donde K = 0,1,2,… N-1

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

    (aquí, N-1 = L + M-2)

  • Los primeros puntos M-1 se corrompen debido al aliasing y, por lo tanto, se descartan porque el registro de datos tiene una longitud N.

  • Los últimos L puntos son exactamente iguales como resultado de la convolución, por lo que

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

  • Para evitar el aliasing, los últimos elementos M-1 de cada registro de datos se guardan y estos puntos se trasladan al registro posterior y se convierten en los primeros elementos M-1.

  • El resultado de IDFT, donde se evitan los primeros puntos M-1, para anular el aliasing y los puntos L restantes constituyen el resultado deseado como el de una convolución lineal.

Método de adición de superposición

A continuación se muestran los pasos para encontrar la convolución discreta utilizando el método de superposición:

Deje que el tamaño del bloque de datos de entrada sea L. Por lo tanto, el tamaño de DFT e IDFT: N = L + M-1

  • Cada bloque de datos se agrega con ceros M-1 al último.

  • Calcule la DFT de N puntos.

  • Se multiplican dos DFT de N puntos: Y m (k) = H (k) .X m (k), donde k = 0,, 1,2,…., N-1

  • IDFT [Y m (k)] produce bloques de longitud N que no se ven afectados por el aliasing ya que el tamaño de DFT es N = L + M-1 y longitudes aumentadas de las secuencias a N puntos agregando ceros M-1 a cada bloquear.

  • Los últimos puntos M-1 de cada bloque deben superponerse y agregarse a los primeros puntos M-1 del bloque siguiente.

    (motivo: cada bloque de datos termina con ceros M-1)

    Por lo tanto, este método se conoce como método Overlap-add. Por lo tanto, obtenemos ...

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