Articulo de referencia

Método de superposición y guardado

En el procesamiento de señales , el método overlap-save es el nombre tradicional para una forma eficiente de evaluar la convolución discreta entre una señal muy larga. incógnita...

En el procesamiento de señales , el método overlap-save es el nombre tradicional para una forma eficiente de evaluar la convolución discreta entre una señal muy larga.incógnita[norte]{\displaystyle x[n]}y un filtro de respuesta de impulso finito (FIR).h[norte]{\displaystyle h[n]}:

donde h [ m ] = 0 para m fuera de la región [1, M ] . Este artículo utiliza notaciones abstractas comunes, comoy(t)=incógnita(t)h(t),{\textstyle y(t)=x(t)*h(t),}oy(t)=H{incógnita(t)},{\textstyle y(t)={\mathcal {H}}\{x(t)\},}en el que se entiende que las funciones deben pensarse en su totalidad, en lugar de en instantes específicos.t{\textstyle t}(véase Convolución#Notación ).

Figura 1: Una secuencia de cuatro gráficos muestra un ciclo del algoritmo de convolución de superposición-guardado. El primer gráfico es una secuencia larga de datos que se procesará 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, con la porción utilizable coloreada en rojo. El cuarto gráfico muestra el segmento filtrado añadido al flujo de salida. [ A ] El filtro FIR es un filtro paso bajo rectangular con M=16 muestras, la longitud de los segmentos es L=100 muestras y la superposición es de 15 muestras.

El concepto consiste en calcular segmentos cortos de y [ n ] de longitud arbitraria L y concatenarlos. Esto requiere segmentos de entrada más largos que se superpongan al siguiente. Los datos superpuestos se "guardan" y se utilizan una segunda vez. [ 1 ] Primero describimos este proceso con una convolución convencional para cada segmento de salida. Luego describimos cómo reemplazar esa convolución con un método más eficiente.

Consideremos un segmento que comienza en n = kL  + M , para cualquier entero k , y definamos : 

incógnitak[norte] {incógnita[norte+kL],1norteL+METRO10,de lo contrario.{\displaystyle x_{k}[n]\ \triangleq {\begin{cases}x[n+kL],&1\leq n\leq L+M-1\\0,&{\textrm {en otro caso}}.\end{cases}}}
yk[norte]  incógnitak[norte]h[norte]=metro=1METROh[metro]incógnitak[nortemetro].{\displaystyle y_{k}[n]\ \triangleq \ x_{k}[n]*h[n]=\sum _{m=1}^{M}h[m]\cdot x_{k}[nm].}

Entonces, parakL+METRO+1nortekL+L+METRO{\displaystyle kL+M+1\leq n\leq kL+L+M}y de forma equivalenteMETRO+1nortekLL+METRO{\displaystyle M+1\leq n-kL\leq L+M}, podemos escribir:

y[norte]=metro=1METROh[metro]incógnitak[nortekLmetro]    yk[nortekL].{\displaystyle y[n]=\sum _{m=1}^{M}h[m]\cdot x_{k}[n-kL-m]\ \ \triangleq \ \ y_{k}[n-kL].}

Con la sustituciónj=nortekL{\displaystyle j=n-kL}La tarea se reduce a calcularyk[j]{\displaystyle y_{k}[j]}paraMETRO+1jL+METRO{\displaystyle M+1\leq j\leq L+M}Estos pasos se ilustran en las tres primeras trazas de la Figura 1, excepto que la porción deseada de la salida (tercera traza) corresponde a 1 jL. [ B ]   

Si extendemos periódicamente x k [ n ] con un período N L + M − 1, según :     

incógnitak,norte[norte]  =incógnitak[nortenorte],{\displaystyle x_{k,N}[n]\ \triangleq \ \sum _{\ell =-\infty }^{\infty }x_{k}[n-\ell N],}

las convoluciones (incógnitak,norte)h{\displaystyle (x_{k,N})*h\,} y incógnitakh{\displaystyle x_{k}*h\,} son equivalentes en la regiónMETRO+1norteL+METRO{\displaystyle M+1\leq n\leq L+M}Por lo tanto, basta con calcular la convolución circular (o cíclica) de N puntos deincógnitak[norte]{\displaystyle x_{k}[n]\,}conh[norte]{\displaystyle h[n]\,} en la región [1, N ]. La subregión [ M + 1, L + M ] se agrega al flujo de salida y los demás valores se descartan . La ventaja es que la convolución circular se puede calcular de manera más eficiente que la convolución lineal, según el teorema de convolución circular :      

dónde :

  • DFT N e IDFT N se refieren a la transformada discreta de Fourier y su inversa, evaluadas sobre N puntos discretos, y
  • Habitualmente, L se elige de forma que N = L+M-1 sea una potencia entera de 2, y las transformadas se implementan con el algoritmo FFT , para mayor eficiencia.
  • Los efectos de borde inicial y final de la convolución circular se superponen y se suman, [ C ] y posteriormente se descartan. [ D ]

Pseudocódigo

( Algoritmo de superposición y ahorro para convolución lineal ) h = Respuesta_impulso_FIR M = longitud(h) superposición = M − 1 N = 8 × superposición (ver la siguiente sección para una mejor opción) step_size = N − overlap H = DFT(h, N) posición = 0 mientras posición + N ≤ longitud(x) yt = IDFT(DFT(x(posición+(1:N))) × H) y(posición+(1:tamaño_paso)) = yt(M : N) (descartar M−1 valores de y) posición = posición + tamaño_de_paso fin

Consideraciones de eficiencia

Figura 2: Gráfico de los valores de N (una potencia entera de 2) que minimizan la función de coste.norte(registro2norte+1)norteMETRO+1{\displaystyle {\tfrac {N\left(\log _{2}N+1\right)}{N-M+1}}}

Cuando la DFT y la IDFT se implementan mediante el algoritmo FFT, el pseudocódigo anterior requiere aproximadamente N (log 2 (N) + 1) multiplicaciones complejas para la FFT, el producto de matrices y la IFFT. [ E ] 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, cuandoMETRO=201{\displaystyle M=201}ynorte=1024,{\displaystyle N=1024,}La ecuación 3 es igual a13,67,{\displaystyle 13.67,}mientras que la evaluación directa de la ecuación 1 requeriría hasta201{\displaystyle 201}multiplicaciones complejas por muestra de salida, siendo el peor caso cuando ambasincógnita{\displaystyle x}yh{\displaystyle h}son de valor complejo. Tenga en cuenta también que para cualquier dadoMETRO,{\displaystyle M,}La ecuación 3 tiene un mínimo con respecto anorte.{\displaystyle N.} La figura 2 es un gráfico de los valores denorte{\displaystyle N}que minimizan la ecuación 3 para un rango de longitudes de filtro (METRO{\displaystyle M}).

En lugar de la ecuación 1 , también podemos considerar aplicar la ecuación 2 a una secuencia larga de longitudnorteincógnita{\displaystyle N_{x}}muestras. El número total de multiplicaciones complejas sería:

norteincógnita(registro2(norteincógnita)+1).{\displaystyle N_{x}\cdot (\log _{2}(N_{x})+1).}

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

norteincógnita(registro2(norte)+1)nortenorteMETRO+1.{\displaystyle N_{x}\cdot (\log _{2}(N)+1)\cdot {\frac {N}{N-M+1}}.}

Por lo tanto, el costo del método de superposición-ahorro se escala casi comoO(norteincógnitaregistro2norte){\displaystyle O\left(N_{x}\log _{2}N\right)}mientras que el costo de una sola convolución circular grande es casiO(norteincógnitaregistro2norteincógnita){\displaystyle O\left(N_{x}\log _{2}N_{x}\right)}.

Superposición: descartar

Superposición-descarte [ 2 ] y Superposición-desechamiento [ 3 ] son ​​etiquetas menos comunes para el mismo método descrito aquí. Sin embargo, estas etiquetas son en realidad mejores (que superposición-guardado ) para distinguir de superposición-adición , porque ambos métodos "guardan", pero solo uno descarta. "Guardar" simplemente se refiere al hecho de que se necesitan M  1 muestras de entrada (o salida) del segmento k para procesar el segmento k + 1.

Ampliar la superposición – guardar

El algoritmo de superposición-guardado puede extenderse para incluir otras operaciones comunes de un sistema: [ F ] [ 4 ]

  • Los canales IFFT adicionales se pueden procesar de forma más económica que el primero reutilizando la FFT directa.
  • Las frecuencias de muestreo se pueden modificar utilizando transformadas rápidas de Fourier (FFT) directas e inversas de diferentes tamaños.
  • La traslación de frecuencia (mezcla) se puede lograr reorganizando los intervalos de frecuencia.

Véase también

Notas

  1. Rabiner y Gold , Fig. 2.35, cuarta traza.
  2. Desplazar los efectos de borde no deseados a las últimas M-1 salidas es una conveniencia potencial en tiempo de ejecución, porque la IDFT se puede calcular en ely[norte]{\displaystyle y[n]}En lugar de calcularse y copiarse, se almacena el búfer. De esta forma, los efectos de borde pueden ser sobrescritos por la siguiente transformada discreta de Fourier (IDFT). Una nota al pie posterior explica cómo se realiza el desplazamiento, mediante un desplazamiento temporal de la respuesta impulsional.
  3. No confundir con el método Overlap-add , que conserva efectos de borde delantero y trasero separados.
  4. Los efectos de borde se pueden mover desde el frente a la parte posterior de la salida IDFT reemplazandoDFTnorte(h[norte]){\displaystyle \scriptstyle {\text{DFT}}_{N}\displaystyle (h[n])}conDFTnorte(h[norte+METRO1])= DFTnorte(h[norte+METRO1norte]),{\displaystyle \scriptstyle {\text{DFT}}_{N}\displaystyle (h[n+M-1])=\ \scriptstyle {\text{DFT}}_{N}\displaystyle (h[n+M-1-N]),}Esto significa que el búfer de longitud N se desplaza circularmente (rota) en M-1 muestras. Por lo tanto, el elemento h(M) está en n=1. El elemento h(M-1) está en n=N. h(M-2) está en n=N-1. Etc.
  5. El algoritmo FFT de Cooley-Tukey para N=2 k necesita (N/2) log 2 (N) – ver FFT – Definición y velocidad
  6. ^ Carlín y col. 1999 , pág. 31, columna 20.

Referencias

  1. "Procesamiento STFT de superposición-adición (OLA) | Procesamiento de señales de audio espectrales" . www.dsprelated.com . Consultado el 2 de marzo de 2024. El nombre "superposición-guardado" proviene del hecho de que se guardan L-1 muestras del fotograma anterior [aquí: M-1 muestras del fotograma actual] para calcular el siguiente fotograma.
  2. Harris, FJ (1987). DFElliot (ed.). Manual de procesamiento de señales digitales . San Diego: Academic Press. pp. 633–699 . ISBN  0122370759.
  3. Frerking, Marvin (1994). Procesamiento digital de señales en sistemas de comunicación . Nueva York: Van Nostrand Reinhold. ISBN 0442016166.
  4. Borgerding, Mark (2006). "Convirtiendo Overlap–Save en un banco de filtros de mezcla multibanda y submuestreo". IEEE Signal Processing Magazine . 23 (marzo de 2006): 158–161 . Bibcode : 2006ISPM...23..158B . doi : 10.1109/MSP.2006.1598092 .
  1. Rabiner, Lawrence R.; Gold, Bernard (1975). "2.25" . Teoría y aplicación del procesamiento digital de señales . Englewood Cliffs, NJ: Prentice-Hall. págs. 63-67 . ISBN  0-13-914101-4.
  2. Patente estadounidense 6898235 , Carlin, Joe; Collins, Terry y Hays, Peter et al., "Dispositivo de interceptación de comunicaciones de banda ancha y localización de direcciones mediante hipercanalización", publicada el 10 de diciembre de 1999, emitida el 24 de mayo de 2005  ,también disponible en https://patentimages.storage.googleapis.com/4d/39/2a/cec2ae6f33c1e7/US6898235.pdf
  • Dra. Deepa Kundur, Superposición Añadir y Superposición Guardar , Universidad de Toronto