8 votos

¿Realizar FFT a bajas frecuencias pero a alta resolución?

Para poner esto en contexto, yo estoy buscando para lograr alta velocidad y alta precisión para la medición de biosignals a través de la FFT. Voy a describir un ejemplo rápido, a ver si lo entiendo correctamente, así como para ilustrar mi pregunta. Así que, si tengo esto correctamente, si quería tomar una baja frecuencia FFT, decir las frecuencias de 0-64 Hz por ejemplo, para mmeet el criterio de Nyquist mi frecuencia de muestreo tendría que ser al menos el doble, por lo tanto de 128 Hz. Entonces, si yo quería una resolución de frecuencia de 1 Hz a una papelera, necesitaría 64 bandejas, que me puso en 128 muestras porque hay dos partes real e imaginaria. Por lo tanto, para lograr que la resolución de 1 Hz, me gustaría ser presentado con una frecuencia de muestreo de sólo 128 Hz, mientras que la necesidad de tomar 128 muestras, que me puso en la posición de tener sólo 1 rendimiento total de la FFT por cada segundo de tiempo que transcurre.

En última instancia, esto me lleva a mi pregunta real: a bajas frecuencias, es posible tomar una de alta resolución FFT (digamos 1 o 2 Hz por bin), mientras que todavía mantiene una cierta apariencia de velocidad? O es simplemente imposible debido a las limitaciones de la transformación? Si es así, ¿hay algún método alternativo o a algún tipo de compromiso entre la resolución y la velocidad? Como un aparte, leí un artículo hace un tiempo acerca de la corrección y tirar muestras en ciertos múltiplos enteros allá de un cierto punto (o algo así, lo siento se fue hace un rato) con el fin de acelerar el proceso de muestreo. Tal vez alguien sabe lo que es (o tal vez estoy sobresalen divagando en este punto). De cualquier modo, gracias por cualquier ayuda que pueda proporcionar de antemano.

13voto

user32787 Puntos 1

Asumo que para la "alta velocidad" te refieres a un pequeño retraso de la recolección de datos a la resultante de la FFT. Con una velocidad de muestreo baja, su capacidad computacional no es el factor limitante, dado que los ordenadores modernos. El retraso problema radica en tener la cantidad suficiente de datos para el análisis. Si usted quiere que su 1Hz de reciclaje para ser diferentes a los de DC/0Hz, usted tiene que acumular una cantidad suficiente de los datos de la señal a la captura de un ciclo completo de la señal. Por esta razón, para una muestra fija de la tasa, más FFT le da una mayor frecuencia de resolución.

Por lo tanto, para frecuencias muy bajas, su baja tasa de muestreo (128Hz) significa que va a tomar sólo un par de muestras para diferenciar estas frecuencias: una de 128 puntos de la FFT se han resolución de 1 hz y una de 256 puntos de la FFT se han 0,5 Hz resolución. El problema radica en la obtención de los datos. 256 puntos de toma 2 segundos para acumular en un 128Hz frecuencia de muestreo. Para un más rápido FFT tasa de actualización, se puede volver a utilizar muestras: tome decir 32 muestras de bloques de datos, a continuación, calcular un 256 puntos de la FFT en el uso de la más reciente a 8 cuadras. Entonces, cuando usted tiene 32 nuevas muestras, usted puede tirar de las más antiguas y actualización de la FFT 4 veces por segundo.

Esencialmente, se ha encontrado con las compensaciones necesarias en la creación de un espectrograma: usted tiene que elegir entre la resolución de la frecuencia y el tiempo de la localidad. (MATLAB actividad y el ejemplo aquí) Más frecuencia resolución requiere de un mayor número de muestras, lo que hace que sus FFT representar un largo periodo de tiempo. A través de un breve lapso de tiempo significa menos uso de las muestras, lo que hace que sus FFT resolución de frecuencia más baja. Usted tendrá que elegir qué es más importante en su aplicación.

11voto

Ozzyprv Puntos 1

Normalmente se necesita para adquirir varias muestras por período de la forma de onda para obtener buenos resultados de una FFT. El límite de Nyquist de 2 muestras por período de un límite inferior, pero por lo general de 10 muestras por período o más es lo que es prácticamente utilizado. Así que para analizar un 64Hz señal de que usted probablemente desea adquirir muestras a una tasa de 640Hz o más.

También (hasta un punto) se obtienen mejores resultados cuando la medición real de señales periódicas si usted adquiere múltiples formas de onda períodos el valor de las muestras. Usted tendrá que determinar qué tamaño de la ventana que tiene más sentido para su aplicación, pero a la captura de 1Hz señales sugeriría la captura de alrededor de 10s pena de datos.

Así que, básicamente, usted necesita para adquirir las muestras a una tasa elevada en relación a su frecuencia más alta y por un largo tiempo en relación a su frecuencia más baja para obtener buenos resultados. Este mandatos que habrá algún tipo de retraso en el procesamiento de que será un múltiplo del período de su frecuencia más baja. Sin embargo, esto no impide que realice de procesamiento, como a menudo como una vez cada tiempo de muestreo.

Así que si usted desea analizar los componentes de frecuencia de una señal a medida que cambia a lo largo del tiempo, y usted quiere ver lo que la FFT se parece a una tasa alta, entonces usted puede simplemente tomar en sin embargo muchas de las muestras que usted necesita. Ejecutar la FFT. Cambio de todas las muestras de más de 1 posición y, a continuación, tomar la FFT de nuevo en el siguiente tiempo de la muestra.

EJEMPLO:
1) Muestra en 819.2 muestras por segundo con una ventana de tiempo de 10 seg.
2) que las muestras se acumulan durante 10 s (para un total de 8192 muestras)
3) Ejecutar la FFT en 8192 muestras.
4) Descartar la primera muestra en el buffer, y evitar que el otro 8191 muestras de pasar más de 1 posición.
5) 1/819.2 segundos después de agregar en el siguiente ejemplo para el final del búfer y vuelva a ejecutar la FFT.
6) Repita los pasos 4 a 6 hasta que haya completado su análisis.

Esto le puede dar una FFT que analiza de una ventana deslizante de datos 819.2 veces por segundo

La potencia de procesamiento necesaria para el ejemplo sería aproximadamente 13*8192*819.2 multiplicación-acumulación opeations por segundo (87 Millones de MACs/s). Un PC corriente fácilmente podría manejar esto. Por supuesto, usted puede reducir la potencia de procesamiento por un factor de N por sólo ejecuta la FFT nunca N muestras (por ejemplo, la ejecución de cada 8 muestras sólo requies 11M MACs por segundo).

2voto

Charuru Puntos 133

Si tu única herramienta es un martillo, cada problema parece un clavo. Creo que usted no entiende lo que es una FFT en realidad es. Es una rápida puesta en marcha de una DFT (discrete Fourier Transform). La DFT es una herramienta de análisis de señales discretas, con una periodicidad de los análisis de intervalo.

Para señales del mundo real (fuera de analizar señales de motor o de otras máquinas rotativas), su intervalo de medición no corresponden en realidad a una periodicidad de la señal.

Como consecuencia, la "frecuencia papeleras", se vuelven sin sentido y sólo corresponden a las características reales de la señal a través de la lente de ventanas, artefactos y difundir los espectros.

Mientras que la eficacia de la FFT y sus funciones base la relación de las funciones propias de desplazamiento lineal invariante en sistemas, es probable que el trabajo de caballos bajo el capó de muchos basado en la frecuencia de las herramientas va a terminar siendo una FFT, la interpretación de los resultados crudos en términos de "frecuencia papeleras", es casi seguro que terminan en el mejor de los vagamente relacionado con la realidad.

Si es una señal de que usted está tratando de pista/caracterizan, lo más probable es mejor con algo basado en coeficientes LPC.

2voto

John Birckhead Puntos 176

Las naves DSP modernas pueden manejar fácilmente la función que usted describe; Si solo muestrea 128 veces por segundo, podría hacer fácilmente un FFT en cada muestra y cambiar una muestra por FFT.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X