¿Qué tipo de hardware implementa la transformación de Fourier?


12

Miré en línea pero no encontré nada relevante. Es muy difícil que un dispositivo electrónico descomponga una señal en diferentes frecuencias.

¿Cómo se hace esto a nivel de metal desnudo?

Cualquier fuente o comentario sugerido será muy útil.


44
Muchas veces no necesita FT para hacer el procesamiento de la señal, especialmente el filtrado. Por ejemplo, puede usar filtros pasivos o activos que dependen de las propiedades de los condensadores e inductores. Incluso en el dominio digital, al trabajar con valores fuera de ADC, puede pasar sin FT para algunas tareas (por ejemplo, ver suavizado exponencial ).
anrieff

Las preguntas de "Qué tipo de ..." son demasiado amplias para ajustarse al modelo de intercambio de pila. Por lo general, cuando se menciona específicamente una transformación de Fourier, se implica algo capaz de computación (aproximadamente convolución, es decir, retrasar, multiplicar y acumular, en paralelo o con almacenamiento y lógica para la secuencia iterativa), pero los requisitos de hardware dependen de los requisitos de la aplicación, y tantos señalan que hay alternativas al cálculo numérico (o al menos digital).
Chris Stratton

3
Una lente sí (no es una respuesta, ya que no es un dispositivo electrónico, pero tampoco son cañas vibrantes).
Ghanima

Respuestas:


39

Dispositivos que usan la Transformada de Fourier

Es muy difícil para un dispositivo electrónico descomponer una señal en diferentes frecuencias.

No es.

En realidad, hay bastantes dispositivos que hacen eso, explícitamente.

En primer lugar, tendrá que hacer una diferencia entre la transformación continua de Fourier (que probablemente conozca como ) y la Transformada digital de Fourier (DFT), que es lo que puede hacer con una señal muestreada.F{x(t)}(f)=x(t)ej2πftdt

Para ambos, hay dispositivos que implementan estos.

Transformada continua de Fourier

Hay poco en cuanto a la necesidad real de esto en la electrónica digital: las señales digitales se muestrean, por lo que usaría el DFT.

En óptica y fotónica, notará que existe una posibilidad real de obtener cosas perfectamente periódicas para una longitud "grande" (leída como: casi tan infinita como la integral anterior). Efectivamente, un elemento acústico-óptico puede excitarse con uno o varios tonos, y tendrá los mismos efectos correlativos que la integral anterior. No tiene que mirar a los ganadores del Premio Nobel de Física de 2018 para encontrar un ejemplo de óptica de Fourier .

Transformada discreta de Fourier

Esto es realmente todo el lugar ; Es un paso de procesamiento tan estándar que, como ingeniero de comunicación, a menudo incluso olvidamos dónde está.

Entonces, esta lista es mucho menos que completa; solo ejemplos:

  • Ecualizadores : es bastante fácil construir un ecualizador de audio digital con un DFT. Típicamente, el tipo de ecualizador de forzamiento cero para sistemas de comunicación usa un DFT para encontrar la representación del dominio de frecuencia del canal necesario para ser "eliminado", lo invierte y usa el IDFT para volver al dominio del tiempo para ser usado como derivaciones Un filtro FIR.
  • Matrices de antenas / Dirección de haz : si tiene una matriz de antenas a una distancia fija entre sí, puede dirigir el haz de estas antenas, calculando el DFT del "vector direccional" que le gustaría lograr y usar el resultado como complejo coeficientes que se multiplicarán con la señal de transmisión que distribuya a estas antenas. Los sistemas MIMO del mundo real hacen eso.
  • Búsqueda de dirección : lo que funciona en la dirección de transmisión funciona exactamente igual, pero al revés, en la dirección de recepción: obtenga una señal para cada una de sus antenas en su matriz, encuentre los factores complejos entre estas señales, haga un IDFT, obtenga un vector que contenga la información cómo el poder vino de qué dirección. ¡Fácil! Y hecho para estimar dónde están los aviones, dónde están los socios de comunicación Wifi, submarinos (aunque no son antenas sino micrófonos submarinos) ...
  • Canalización : los satélites en el espacio son caros, por lo que se deben vincular múltiples programas de TV a un satélite. Puede usar un DFT (especialmente en un banco de filtros polifásico) para poner múltiples canales en un enlace ascendente, o para aislar canales individuales de una señal de banda ancha. Eso no es un dominio de la televisión; sucede en el procesamiento de audio, imágenes médicas, análisis ultrasónico, radiodifusión ...)
  • Codificación de datos para sistemas multiportadora : para combatir los problemas de los canales anchos (que necesita si desea transportar muchos bits por segundo), es decir, la necesidad de ecualizadores complejos, desearía cortar su canal en muchos canales pequeños (consulte "canalización" arriba). Sin embargo, puede entender el DFT solo como Filterbank para filtros rectangulares de dominio de tiempo con desplazamiento de frecuencia. Lo bueno de eso es que estos canales están muy apretados. La otra cosa buena es que la convolución con el canal se reduce a una multiplicación por puntos que es muy simple de revertir. Llamamos a ese método OFDM , y todos los sistemas Wifi, LTE, 5G, WiMax, ATSC, DVB-T, Digital Audio Broadcasting, DSL y muchos más lo usan.
  • Filtrado eficiente : un filtro FIR es una convolución con la respuesta al impulso del filtro en el dominio del tiempo. Como tal, utiliza muchas operaciones por muestra de salida: es muy computacionalmente intenso. Puede reducir en gran medida ese esfuerzo cuando implementa una convolución rápida , que se basa en secciones DFT de muestras de entrada, multiplicándolas con la DFT de la respuesta de impulso en el dominio de frecuencia, superponiéndose con segmentos anteriores y retro-transformación al dominio del tiempo. Eso es tan útil que se usa en casi todos los sistemas que tienen filtros FIR largos (y "largo" podría comenzar con números tan benignos como "16 toques").
  • Radar : los radares automotrices clásicos usan radares FMCW auto modulantes; para obtener una imagen de la velocidad relativa y la distancia de los reflectores observados por eso, normalmente se hace un DFT bidimensional (que realmente es solo DFT en todas las columnas de una matriz y luego todas las filas del resultado).
  • Compresión de audio e imagen / video : aunque JPEG usa la Transformada discreta del coseno , no el DFT en sí, hay una gran cantidad de códecs que mecanismos que al menos usan partes significativas de un DFT.

Tenga en cuenta que la lista anterior solo contiene cosas que hacen DFT durante la operación . Puede estar 100% seguro de que durante el diseño de cualquier cosa remotamente relacionada con RF, especialmente antenas, mezcladores, amplificadores, (des) moduladores, se involucró una gran cantidad de transformadas de Fourier / análisis espectral. Lo mismo ocurre con el diseño de dispositivos de audio, cualquier diseño de enlace de datos de alta velocidad, análisis de imágenes ...

Como se hace

Solo abordaré el DFT aquí.

Por lo general, se implementa como una FFT , Transformada rápida de Fourier. Ese es uno de los descubrimientos algorítmicos más importantes del siglo XX, por lo que ahorraré algunas palabras, porque hay literalmente miles de artículos que explican la FFT.

Entras y miras los multiplicadores de un DFT. Notarás que estos pueden entenderse básicamente como ; y ahí tienes tu factor twiddle. Ahora evita calcular los coeficientes que ya ha calculado, y simplemente cambia un signo cuando sea necesario.ej2πnNkej2π1Nkn=Wn

De esa manera, puede reducir la complejidad de un DFT de $ N ^ 2 $ (que sería la complejidad si implementara el DFT como la suma ingenua) a algo en el orden de - una gran ganancia, incluso para relativamente pequeño .NlogNNN

Es relativamente sencillo implementar eso en el hardware, si puede obtener todo su vector de entrada de una vez: obtiene como profundidad combinatoria y coeficientes fijos en cada paso. El truco es saber cómo (si) canalizar las capas individuales y cómo usar el tipo de hardware específico que tiene (¿ASIC? ¿FPGA? ¿FPGA con multiplicadores de hardware?). Básicamente, puedes juntar transformación de longitud solo de lo que llamamos mariposas , que reconocerás una vez que leas sobre la FFT.logNN=2l

En el software, el principio es el mismo, pero necesita saber cómo realizar múltiples transformaciones muy grandes y cómo acceder a la memoria lo más rápido posible mediante el uso óptimo de sus cachés de CPU.

Sin embargo, tanto para el hardware como para el software, hay bibliotecas que solo usarías para calcular el DFT (FFT). Para hardware, que generalmente proviene de su proveedor de FPGA (por ejemplo, Altera / Intel, Xilinx, Lattice ...), o una gran empresa de herramientas de diseño ASIC (Cadence) o su casa ASIC.


Impresionante dedicación a su arte, acuerde que 'largo' es O (16) para los filtros FIR.
Neil_UK

:) ¡gracias! Sin embargo, he visto que escribes respuestas mucho más impresionantes que esta :)
Marcus Müller

1
Si bien esta es una respuesta muy detallada y proporcionará una FFT precisa de una señal entrante, no responde la pregunta. Este es un proceso digital aplicado a una señal de entrada, no es una solución implementada en hardware (que no sea el convertidor AD en el extremo frontal).
Jennifer

1
Jennifer tiene razón. Debe analizar DFT analógico o al menos aclarar que DFT significa FT discreto , pero no necesariamente FT digital .
Leftaroundabout

2
La página 43 (numeración de pdf) en este procedimiento discute una FIR basada en FFT analógica: imagesensors.org/Past%20Workshops/Marvin%20White%20Collection/…
leftaroundabout

12

No se puede obtener mucho más "metal desnudo" y "hardware" que un conjunto de cañas vibrantes.

http://www.stichtco.com/freq_met.htm

Entonces, ¿qué hardware hace una transformación de Fourier, un montón de sistemas resonantes pueden hacer eso?


1
eh, elegante. Mi padre me habló de dispositivos similares que usaban en la unidad para el análisis de frecuencia de máquinas vibratorias.
Marcus Müller

55
Así es aproximadamente cómo funcionan sus oídos, vea cochlea.eu/en/cochlea/function
zwol

5

Los dispositivos de onda acústica de superficie se utilizaron como dispositivos electromecánicos analógicos para realizar varias tareas de procesamiento de señales. La mayoría de los papeles están pagados.

Capítulo 16 del libro de 1989 de Colin Campbell Dispositivos de ondas acústicas de superficie y sus aplicaciones de procesamiento de señales

Resumen del editor

Este capítulo presenta técnicas rápidas de transformación de Fourier en tiempo real utilizando filtros de chirrido SAW de frecuencia lineal modulada (FM) con tiempos de procesamiento de solo unos pocos microsegundos. Las técnicas basadas en SAW tienen aplicaciones para sonar, radar, espectro extendido y otras tecnologías de comunicaciones que requieren el análisis rápido o el filtrado de señales complejas. Con los sistemas de transformada de Fourier basados ​​en SAW, esto se lleva a cabo en las etapas de frecuencia intermedia (IF) del receptor. Los filtros de chirrido FM lineal SAW se pueden configurar para afectar una serie de manipulaciones de transformadas de Fourier. Tres de estos son (1) transformadores de Fourier de una etapa para análisis de espectro o de red, (2) procesadores de transformada de Fourier de dos etapas para análisis de cepstrum y (3) procesadores de transformada de Fourier de dos etapas para filtrado en tiempo real. Los procesadores de transformada de Fourier basados ​​en SAW para el análisis espectral de señales, conocidos como receptores de compresión, están disponibles en una amplia gama de configuraciones para proporcionar resoluciones espectrales sobre anchos de banda analíticos de hasta 1 GHz. El capítulo también analiza el uso de mezcladores bilineales en un procesador de transformación SAW Fourier.



4

Una transformación de Fourier en una función de muestreo discreta es un cambio de funciones básicas de una serie de valores (típicamente) de tiempos de muestra a una serie equivalente de valores de componentes de frecuencia. Es una transformación lineal (la transformación de Fourier de una suma de dos series es la suma de las transformadas de Fourier de las dos series), por lo que es idéntica a una matriz que opera en un vector (la serie de tiempo de muestra).

Una matriz de rango N que opera en un vector con N componentes genera un segundo vector con N componentes haciendo N ^ 2 multiplicaciones y (N ^ 2 - N) adiciones.

Bien, ahora cómo el metal hace esto:

Hay un artilugio llamado 'analizador de armónicos' que multiplica y acumula una frecuencia (básicamente una fila de la matriz), que es una especie de computadora analógica. Implica trazar la entrada de la función en un papel cuadriculado, conectar un planímetro polar (integrador mecánico) y un enlace (multiplicador mecánico) y trazar la curva le proporciona ... un elemento de la salida. Usarlo no es tan malo, pero para una transformación de 1024 elementos, tienes que hacer la operación ... 1024 veces. Así es como se calcularon las tablas de mareas, sin embargo, hace un siglo. vea el artículo sobre instrumentos matemáticos aquí, página 71

Luego está el método manual, usando la regla de cálculo y la máquina sumadora, que requiere buscar los elementos de la matriz en una tabla de senos / cosenos, y eso significa que usted opera su regla de cálculo, para un muestreo de 1024 elementos, más de 2 millones de veces.

Una computadora de uso general también puede hacer la operación.

Algunos diseños de CPU especializados (procesador de señal digital, DSP) están hechos con hardware acelerado de acumulación múltiple, lo que acelera las cosas. Y, hay un algoritmo muy inteligente, el FFT, que resuelve el problema de N muestras que requieren operaciones N ^ 2, al notar que una matriz 4x4 es una matriz 2x2 de matrices 2x2; hay una manera de tomar cualquier número compuesto (una potencia de dos, como '1024' es conveniente) y usar solo operaciones del orden de N * Log (N) en lugar de N ^ 2. Eso significa que las 1024 entradas solo requieren 61,440 operaciones en lugar de 1,048,576.

La FFT no simplifica una transformación de Fourier discreta general, porque requiere que el valor N sea no primo (y casi siempre se usa una potencia de dos), pero puede ser compatible con hardware de varias maneras, de modo que las operaciones (multiplicar-acumular) son los pasos que limitan el tiempo. Un chip moderno (2019) (ADBSP-561 de la columna MMAC de Analog Devices ) puede realizar 2400 operaciones por microsegundo.


-4

99
No, no es lo que hace un analizador de espectro en general. Algunos (muchos) analizadores de espectro tienen un modo FFT, pero aun así, lo que el analizador de espectro le muestra es una estimación de PSD, no una transformada de Fourier.
Marcus Müller

Respuestas que son principalmente un enlace a otro sitio para no proporcionar un valor duradero, ya que el enlace puede romperse mañana. Debe resumir el contenido importante del enlace en su propia respuesta.
Elliot Alderson

@ MarcusMüller: ¿qué es una "estimación de PSD"?
Pete Becker

1
@PeteBecker Una estimación de la densidad espectral de potencia. La distribución de la potencia esperada sobre las frecuencias para una señal que debe considerar aleatoria porque no la conoce. La definición matemáticamente exacta para un PSD es "Transformada de Fourier de la función de autocorrelación de un proceso estocástico"; pero para la mayoría de los casos, simplemente asumimos que el proceso estocástico (== señal aleatoria) es estacionario con un sentido débil y, por lo tanto, FT (ACF) == expectativa (FT² (señal de tiempo)).
Marcus Müller
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.