stringtranslate.com

Método de superposición y adición

En el procesamiento de señales , el método de superposición-suma es una forma eficaz de evaluar la convolución discreta de una señal muy larga con un filtro de respuesta de impulso finito (FIR) :

dónde para fuera de la región   Este artículo utiliza notaciones abstractas comunes, como o en las que se entiende que las funciones deben pensarse en su totalidad, en lugar de en instantes específicos (consulte Convolución#Notación ).

Fig 1: Una secuencia de cinco gráficos representa un ciclo del algoritmo de convolución de superposición y adición. El primer gráfico es una larga secuencia de datos que se procesarán con un filtro FIR de paso bajo. El segundo gráfico es un segmento de los datos que se procesará por partes. El tercer gráfico es el segmento filtrado, incluidos los transitorios de subida y bajada del filtro. El cuarto gráfico indica dónde se agregarán los nuevos datos con el resultado de los segmentos anteriores. El quinto gráfico es el flujo de salida actualizado. El filtro FIR es un paso bajo de furgón con muestras, la longitud de los segmentos es de muestras y la superposición es de 15 muestras.

El concepto es dividir el problema en múltiples convoluciones con segmentos cortos de :

donde es una longitud de segmento arbitraria. Entonces :

y se puede escribir como una suma de convoluciones cortas : [1]

donde la convolución lineal es cero fuera de la región Y para cualquier parámetro [A] es equivalente a la convolución circular de -punto de con en la región   La ventaja es que la convolución circular se puede calcular de manera más eficiente que la convolución lineal, según la convolución circular teorema de convolución :

dónde :

Pseudocódigo

El siguiente es un pseudocódigo del algoritmo :

( Algoritmo de superposición y adición para convolución lineal )h = filtro_FIRM = longitud(h)Nx = longitud(x)N = 8 × 2^techo( log2(M) ) (8 veces la potencia más pequeña de dos mayores que la longitud del filtro M. Consulte la siguiente sección para obtener una elección ligeramente mejor).
step_size = N - (M-1) (L en el texto arriba)H = EPS(h, N)posición = 0y(1 : Nx + M-1) = 0mientras que posición + tamaño_paso ≤ Nx hacer y(posición+(1:N)) = y(posición+(1:N)) + IDFT(DFT(x(posición+(1:tamaño_paso)), N) × H) posición = posición + tamaño_pasofin

Consideraciones de eficiencia

Fig 2: Una gráfica de los valores de N (una potencia entera de 2) que minimizan la función de costos

Cuando el algoritmo FFT implementa DFT e IDFT, el pseudocódigo anterior requiere aproximadamente N (log 2 (N) + 1) multiplicaciones complejas para FFT, producto de matrices e IFFT. [B] Cada iteración produce N-M+1 muestras de salida, por lo que el número de multiplicaciones complejas por muestra de salida es aproximadamente :

Por ejemplo, cuando y la ecuación 3 es igual, mientras que la evaluación directa de la ecuación 1 requeriría hasta multiplicaciones complejas por muestra de salida, siendo el peor caso cuando ambos y tienen valores complejos. También tenga en cuenta que para cualquier Ec.3 dada tiene un mínimo con respecto a la Figura 2 es una gráfica de los valores de esa Ec.3 minimizada para un rango de longitudes de filtro ( ).

En lugar de la Ec.1 , también podemos considerar aplicar la Ec.2 a una secuencia larga de muestras de longitud. El número total de multiplicaciones complejas sería:

Comparativamente, el número de multiplicaciones complejas requeridas por el algoritmo de pseudocódigo es:

Por lo tanto, el costo del método de superposición y adición aumenta casi mientras que el costo de una sola convolución circular grande es casi . Los dos métodos también se comparan en la Figura 3, creada mediante simulación de Matlab. Los contornos son líneas de relación constante de los tiempos que se tarda en realizar ambos métodos. Cuando el método de superposición y suma es más rápido, la proporción excede 1 y se observan proporciones tan altas como 3.

Fig 3: Ganancia del método de superposición y adición en comparación con una única convolución circular grande. Los ejes muestran valores de longitud de señal Nx y longitud de filtro Nh .

Ver también

Notas

  1. ^ Esta condición implica que el segmento tiene al menos ceros añadidos, lo que evita la superposición circular de los transitorios de subida y bajada de salida.
  2. ^ Algoritmo Cooley-Tukey FFT para N = 2 k necesita (N/2) log 2 (N) - ver FFT - Definición y velocidad

Referencias

  1. ^ Rabiner, Lawrence R.; Oro, Bernard (1975). "2,25" . Teoría y aplicación del procesamiento de señales digitales . Englewood Cliffs, Nueva Jersey: Prentice-Hall. págs. 63–65. ISBN 0-13-914101-4.

Otras lecturas