Você está na página 1de 6

La convolucin FFT

El solape-suma Mtodo
El mtodo de solape-suma se basa en la tcnica fundamental en DSP:
1. descomponer la seal en componentes simples.
2. el proceso de cada uno de los componentes de alguna manera til.
3. recombinar los componentes procesados en la seal final.

La Figura 18-1 muestra un ejemplo de cmo se hace esto para el mtodo de


solape-suma.
La figura (a) es la seal a filtrar, mientras que (b) muestra el ncleo del filtro a
utilizar, un filtro de paso bajo de ventana-sinc. Saltando a la parte inferior de la
figura, (i) muestra la seal filtrada, una versin suavizada de (a).
La clave de este mtodo es la forma en las longitudes de estas seales se ven
afectados por la convolucin. Cuando una seal de muestra de N se
convoluciona con un kernel de filtros de muestra M, la seal de salida
es N+ M - 1 muestras de largo. Por ejemplo, la seal de entrada, (a), es de 300
muestras (correr 0-299), el ncleo del filtro, (b), es de 101 muestras (que va de
0 a 100), y la seal de salida, (i), es 400 muestras (que va de 0 a la 399).
En otras palabras, cuando se filtra una seal de N de las muestras,
se expandi por M - 1 puntos a la derecha. (Esto es suponiendo que el ncleo
del filtro se extiende desde el ndice 0 a M. Si se utilizan ndices negativos en el
ncleo del filtro, la expansin tambin estar a la izquierda). En (a), los ceros
se han aadido a la seal entre la muestra 300 y 399 para ilustrar donde
ocurrir esta expansin.
Figuras (c), (d) y (e) muestran la descomposicin utilizado en el mtodo de
solape-suma. La seal se divide en segmentos, y cada segmento que tiene 100
muestras de la seal original. Adems, 100 ceros se aaden a la derecha de
cada segmento.
En el siguiente paso, cada segmento se filtra de forma individual mediante la
convolucin con el ncleo del filtro. Esto produce los segmentos de salida que
se muestran en (f), (g), y (h). Debido a que cada segmento de entrada es de
100 muestras de largo, y el ncleo del filtro es de 101 muestras de largo, cada
segmento de salida ser de 200 muestras de largo. El punto importante a
entender es que los 100 ceros se aadieron a cada segmento de entrada para
permitir la expansin durante la convolucin.
Tenga en cuenta que los resultados de expansin en los segmentos de
salida se solapan entre s. se aaden estos segmentos de salida superpuestas
para dar la seal de salida, (i).
El mtodo de solape-suma produce exactamente la misma seal de salida
como convolucin directa. La desventaja es una complejidad mucho mayor
programa para realizar un seguimiento de las muestras que se superponen.
La convolucin FFT
FFT convolucin utiliza el principio de que la multiplicacin en el dominio de
frecuencia corresponde a la convolucin en el dominio del tiempo. La seal de
entrada se transforma en el dominio de frecuencia usando el DFT, multiplicado
por la respuesta de frecuencia del filtro, y luego se transform de nuevo en el
dominio del tiempo mediante la inversa DFT.

Al utilizar el algoritmo de FFT para calcular la DFT, de convolucin a travs del


dominio de frecuencia puede ser ms rpido que la convolucin directamente
las seales de dominio de tiempo. El resultado final es el mismo; slo el
nmero de clculos se ha cambiado por un algoritmo ms eficiente. Por esta
razn, FFT convolucin tambin se llama convolucin de alta velocidad.
FFT convolucin utiliza el mtodo de solape-suma se muestra en la Fig. 181; Slo la forma en que los segmentos de entrada se convierten en los
segmentos de salida se cambia.

La Figura 18-2 muestra un ejemplo de cmo un segmento de entrada se


convierte en un segmento de salida de FFT convolucin. Para empezar, la
respuesta de frecuencia del filtro se encuentra tomando la DFT del ncleo de
filtro, utilizando la FFT.

Por ejemplo, (a) muestra un ejemplo del ncleo de filtro, un filtro de paso de
banda de ventana-sinc. La FFT convierte esta en las partes real e imaginaria de
la respuesta de frecuencia, que se muestran en (b) y (c). Estas seales de
dominio de frecuencia pueden no ven como un filtro de paso de banda, ya que
son en forma rectangular. Recuerde, la forma polar es generalmente mejor
para los seres humanos para comprender el dominio de la frecuencia, mientras
que la forma rectangular es normalmente mejor para los clculos
matemticos. Estas partes real e imaginaria se almacenan en el ordenador
para su uso cuando se calcula cada segmento.
La figura (d) muestra el segmento de entrada de ser procesado. La FFT se
utiliza para encontrar su espectro de frecuencia, que se muestra en (e) y (f). El
espectro de frecuencia del segmento de salida, (h) y (i) se encuentra a
continuacin, multiplicando respuesta de frecuencia del filtro, (b) y (c), por el
espectro del segmento de entrada, (e) y (f).
Dado que estos espectros se componen de partes real e imaginaria, que se
multiplican de acuerdo con la Ec. 9-1 en el captulo 9.

La FFT inversa se utiliza para encontrar el segmento de salida, (g), a partir de


su espectro de frecuencia, (h) y (i). Es importante reconocer que este
segmento de salida es exactamente la misma que la que se obtendra por la
convolucin directa del segmento de entrada, (d), y el ncleo del filtro, (a).
Los FFT debe ser lo suficientemente largo que la convolucin circular no tiene
lugar. Esto significa que la FFT debe ser la misma longitud que el segmento de
salida, (g). Por ejemplo, en el ejemplo de la fig. 18-2, el ncleo de filtro
contiene 129 puntos y cada segmento contiene 128 puntos, lo que hace
segmento de salida de 256 puntos largos. Esto exige 256 FFT de punto para ser
utilizado. Esto significa que el ncleo del filtro, (a), debe ser rellenado con ceros
127 para llevarlo a una longitud total de 256 puntos. Del mismo modo, cada
uno de los segmentos de entrada, (d), debe ser tabulada con 128 ceros. Como
otro ejemplo, imagine que necesita convolucin una seal muy larga con un
ncleo de filtro que tiene 600 muestras. Una alternativa sera el uso de
segmentos de 425 puntos, y 1024 FFT de punto. Otra alternativa sera el uso
de segmentos de 1449 puntos y 2048 FFT de punto.
Las mejoras de velocidad
Cuando es ms rpido que la FFT convolucin convolucin estndar?
La respuesta depende de la longitud del ncleo de filtro, como se muestra en la
Fig. 18-3.

El tiempo kernel filtro. El cruce se produce cuando el ncleo de filtro tiene


alrededor de 40 a 80 muestras (dependiendo del hardware en particular
utilizado).
La idea importante para recordar: filtro de ncleos ms cortas de unos 60
puntos se pueden implementar ms rpido con convolucin estndar, y el
tiempo de ejecucin es proporcional a la longitud del grano. Ms largos ncleos
de filtro se pueden implementar ms rpido con FFT convolucin. Con FFT
convolucin, el ncleo del filtro se puede hacer como el tiempo que desee, con
muy poca penalizacin en tiempo de ejecucin. Por ejemplo, un filtro de kernel
16000 punto slo requiere el doble de tiempo para ejecutar como uno con slo
64 puntos.
La velocidad de la convolucin tambin determina la precisin del clculo. Esto
es debido a que el error de redondeo en la seal de salida depende del nmero
total de clculos, que es directamente proporcional al tiempo de clculo. Si la
seal
de
salida
se
calcula ms
rpido, sino
que
tambin
se
calcular con mayor precisin. Por ejemplo, imagina la convolucin de una
seal con un ncleo de filtro 1000 puntos, con punto flotante de precisin
simple. El uso de convolucin estndar, el ruido tpico de redondeo puede
esperarse que sea aproximadamente 1 parte en 20.000 (de las directrices
contenidas en el Captulo 4). En comparacin, FFT convolucin se puede
esperar que sea un orden de magnitud ms rpido, y un orden de magnitud
ms precisa (es decir, 1 parte en 200.000).
Mantenga convolucin FFT escondido para cuando se tiene una gran cantidad
de datos a procesar y necesita un ncleo del filtro extremadamente
larga. Pensar en trminos de una seal de millones de muestras y un ncleo de
filtro mil puntos.

Você também pode gostar