Che tipo di hardware implementa la trasformata di Fourier?


12

Mi sono guardato intorno online ma non ho trovato nulla di rilevante. È molto difficile per un dispositivo elettronico decomporre un segnale in frequenze diverse.

Come si fa a livello di metallo nudo?

Qualsiasi fonte o commento suggerito sarà molto utile


4
Molte volte non è necessario FT per eseguire l'elaborazione del segnale, in particolare il filtraggio. Ad esempio è possibile utilizzare filtri attivi o passivi che dipendono dalle proprietà di condensatori e induttori. Anche nel dominio digitale, quando si lavora con valori al di fuori di ADC, è possibile andare senza FT per alcune attività (ad esempio, vedere il livellamento esponenziale ).
Anrieff

Le domande "Che tipo di ..." sono troppo ampie per adattarsi al modello di scambio di stack. In genere quando si menziona specificamente una trasformata di Fourier è implicito qualcosa che è in grado di calcolare (approssimativamente convoluzione cioè ritardo, moltiplicazione e accumulo, in parallelo o con memoria e logica per la sequenza iterativa), ma i requisiti hardware dipendono dai requisiti dell'applicazione e altrettanti stanno sottolineando che ci sono alternative al calcolo numerico (o almeno digitale).
Chris Stratton

3
Una lente fa (non una risposta poiché non è un dispositivo elettronico, ma non è nemmeno una canna vibrante).
Ghanima

Risposte:


39

Dispositivi che utilizzano la trasformata di Fourier

È molto difficile per un dispositivo elettronico decomporre un segnale in frequenze diverse.

Non è.

In realtà ci sono alcuni dispositivi che lo fanno, esplicitamente.

Prima di tutto, dovrai fare la differenza tra la trasformata di Fourier continua (che probabilmente conosci come ) e Digital Fourier Transform (DFT), che è ciò che puoi fare con un segnale campionato.F{x(t)}(f)=x(t)ej2πftdt

Per entrambi, ci sono dispositivi che li implementano.

Trasformata di Fourier continua

Nell'elettronica digitale ci sono pochi modi in cui ciò è realmente necessario: i segnali digitali vengono campionati, quindi dovresti usare il DFT.

Nell'ottica e nella fotonica noterai che esiste un'effettiva possibilità di ottenere cose perfettamente periodiche per una lunghezza "grande" (leggi come: quasi infinita come l'integrale sopra). In effetti, un elemento acusto-ottico può essere eccitato con uno o più toni, e avrà gli stessi effetti correlati dell'integrale sopra. Non devi guardare i vincitori del premio Nobel per la fisica 2018 per trovare un esempio di Fourier Optics .

Trasformata discreta di Fourier

Questo è davvero ovunque ; è una fase di elaborazione così standard che come ingegnere della comunicazione spesso dimentichiamo persino dove si trova.

Quindi, questo elenco è molto meno che completo; solo esempi:

  • Equalizzatori : è abbastanza semplice costruire un equalizzatore audio digitale con un DFT. In genere, il tipo di equalizzatore a forzatura zero per i sistemi di comunicazione utilizza un DFT per trovare la rappresentazione del dominio di frequenza del canale necessario per essere "rimosso", inverte quello e utilizza l'IDFT per tornare al dominio del tempo da utilizzare come tap in un filtro FIR.
  • Matrici di antenne / Beamsteering : se si dispone di una serie di antenne a distanza fissa l'una dall'altra, è possibile orientare il raggio di queste antenne, calcolando il DFT del "vettore direzionale" che si desidera ottenere e utilizzare il risultato come complesso coefficienti da moltiplicare con il segnale di trasmissione che si distribuisce a queste antenne. I sistemi MIMO del mondo reale lo fanno.
  • Ricerca della direzione : ciò che funziona nella direzione di trasmissione funziona esattamente allo stesso modo, ma al contrario, nella direzione di ricezione: ottieni un segnale per ciascuna delle tue antenne nell'array, trova i fattori complessi tra questi segnali, esegui un IDFT, ottieni un vettore contenente le informazioni come il potere è venuto da quale direzione. Facile! E fatto per stimare dove si trovano gli aeromobili, dove si trovano i partner di comunicazione Wifi, i sottomarini (anche se non ci sono antenne ma microfoni sottomarini) ...
  • Canalizzazione : i satelliti nello spazio sono costosi, quindi più programmi TV devono essere collegati a un satellite. È possibile utilizzare un DFT (specialmente in una banca di filtri polifase) per inserire più canali in un uplink o per isolare singoli canali da un segnale a banda larga. Questo non è un dominio della TV; succede nell'elaborazione audio, nell'imaging medico, nell'analisi ultrasonica, nelle trasmissioni radiofoniche ...)
  • Codifica dati per sistemi multicarrier : per combattere i problemi di canali ampi (di cui hai bisogno se vuoi trasportare molti bit al secondo), vale a dire la necessità di equalizzatori complessi, dovresti tagliare il tuo canale in molti piccoli canali (vedi "canalizzazione" sopra). Tuttavia, è possibile comprendere il solo DFT come Filterbank per filtri rettangolari nel dominio del tempo con spostamento di frequenza. La cosa bella è che questi canali sono molto stretti. L'altra cosa bella è che la convoluzione con il canale si riduce a una moltiplicazione puntuale che è super semplice da ripristinare. Noi chiamiamo quel metodo OFDM e tutti i sistemi Wifi, LTE, 5G, WiMax, ATSC, DVB-T, Digital Audio Broadcasting, DSL e molti altri lo usano.
  • Filtro efficiente : un filtro FIR è una convoluzione con la risposta all'impulso del filtro nel dominio del tempo. Come tale, utilizza molte operazioni per campione di output - è molto intenso dal punto di vista computazionale. È possibile ridurre notevolmente tale sforzo quando si implementa una convoluzione rapida , che si basa sulle sezioni DFT dei campioni di input, che li converte con il DFT della risposta all'impulso nel dominio della frequenza, sovrapponendosi con segmenti precedenti e trasformando indietro nel dominio del tempo. È così utile che viene utilizzato in quasi tutti i sistemi che hanno filtri FIR lunghi (e "long" potrebbe iniziare con numeri così favorevoli come "16 tocchi").
  • Radar : i radar automobilistici classici usano radar FMCW automodulanti; per avere un quadro sia della velocità relativa che della distanza dei riflettori osservati da ciò, in genere si esegue un DFT bidimensionale (che in realtà è solo DFT su tutte le colonne di una matrice e successivamente su tutte le righe del risultato).
  • Compressione audio e immagine / video : sebbene JPEG utilizzi la trasformata discreta di coseno , non la stessa DFT, esiste un ampio numero di codec che meccanismo che utilizza almeno parti significative di una DFT.

Si noti che l'elenco sopra contiene solo cose che fanno DFT durante il funzionamento . Puoi essere sicuro al 100% che durante la progettazione di qualsiasi cosa in remoto correlata alla RF, in particolare antenne, mixer, amplificatori, (de) modulatori, sono state coinvolte molte trasformazioni di Fourier / analisi spettrale. Lo stesso vale per la progettazione di dispositivi audio, qualsiasi progettazione di collegamento dati ad alta velocità, analisi di immagini ...

Com'è fatto?

Mi limiterò a rivolgermi al DFT qui.

Di solito, viene implementato come FFT , Fast Fourier Transform. Questa è una delle scoperte algoritmiche più importanti del 20 ° secolo, quindi risparmierò solo poche parole, perché ci sono letteralmente migliaia di articoli là fuori che spiegano la FFT.

Entra e dai un'occhiata ai moltiplicatori di un DFT. Noterai che questi possono essere sostanzialmente intesi come ; e lì hai il tuo fattore chiave. Ora eviti di calcolare i coefficienti che hai già calcolato e scambia un segno dove necessario.ej2πnNkej2π1Nkn=Wn

In questo modo, puoi ridurre la complessità di un DFT da $ N ^ 2 $ (che sarebbe la complessità se implementassi il DFT come somma ingenua) a qualcosa nell'ordine di - una vittoria enorme , anche per relativamente piccolo .NlogNNN

È relativamente semplice implementarlo nell'hardware, se riesci a ottenere l'intero vettore di input in una volta: ottieni come profondità combinatoria e coefficienti fissi ad ogni passo. Il trucco è sapere come (se) eseguire il pipeline dei singoli layer e come utilizzare il tipo di hardware specifico che si possiede (ASIC? FPGA? FPGA con moltiplicatori hardware?). Puoi fondamentalmente mettere insieme una trasformazione di lunghezza solo da ciò che chiamiamo farfalle , che riconoscerai una volta letto sull'FFT.logNN=2l

Nel software, il principio è lo stesso, ma è necessario sapere come trasformare multi-thread trasformazioni molto grandi e come accedere alla memoria il più rapidamente possibile utilizzando la cache della CPU in modo ottimale.

Tuttavia, sia per l'hardware che per il software, ci sono librerie che useresti solo per calcolare il DFT (FFT). Per l'hardware, che di solito proviene dal tuo fornitore FPGA (ad esempio Altera / Intel, Xilinx, Lattice ...) o da una grande azienda di strumenti di progettazione ASIC (Cadence) o dalla tua casa ASIC.


Impressionante dedizione alla tua arte, concorda sul fatto che "long" è O (16) per i filtri FIR.
Neil_UK

:) grazie! Visto che hai scritto risposte molto più impressionanti di questa, però :)
Marcus Müller

1
Sebbene questa sia una risposta molto dettagliata e fornirà una FFT accurata di un segnale in arrivo, non risponde alla domanda. Questo è un processo digitale applicato a un segnale di ingresso, non è una soluzione implementata nell'hardware (diverso dal convertitore AD sul front-end).
Jennifer

1
Jennifer ha ragione. Dovresti discutere di DFT analogico o almeno chiarire che DFT significa FT discreto , ma non necessariamente FT digitale .
leftaroundabout

2
La pagina 43 (numerazione pdf) in questo procedimento discute una FIR basata su FFT analogica: imagesensors.org/Past%20Workshops/Marvin%20White%20Collection/…
leftaroundabout

12

Non puoi ottenere molto più "metallo nudo" e "hardware" di un set di ance vibranti.

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

Quindi, quale hardware trasforma una fourier, un gruppo di sistemi risonanti può farlo


1
eh, fantasia. Mio padre mi ha parlato di dispositivi simili che hanno usato alla uni per l'analisi di frequenza delle macchine vibranti.
Marcus Müller

5
Questo è all'incirca il modo in cui funzionano anche le tue orecchie, vedi cochlea.eu/en/cochlea/function
zwol

5

I dispositivi Wave Acoustic Wave sono stati utilizzati come dispositivi elettromeccanici analogici per eseguire diverse attività di elaborazione del segnale. La maggior parte dei documenti sono dotati di paywall.

Capitolo 16 del libro di Colin Campbell del 1989 Surface Acoustic Wave Devices e le loro applicazioni di elaborazione del segnale

Riepilogo editore

Questo capitolo presenta tecniche di trasformazione di Fourier veloci in tempo reale che utilizzano filtri chirp modulati in frequenza lineare SAW (FM) con tempi di elaborazione di pochi microsecondi. Le tecniche basate su SAW hanno applicazioni per sonar, radar, spettro di diffusione e altre tecnologie di comunicazione che richiedono l'analisi rapida o il filtraggio di segnali complessi. Con i sistemi di trasformata di Fourier basati su SAW, questo viene eseguito negli stadi di frequenza intermedia (IF) del ricevitore. I filtri chirp FM lineari SAW possono essere configurati per influenzare una serie di manipolazioni della trasformata di Fourier. Tre di questi sono (1) trasformatori di Fourier a singolo stadio per l'analisi dello spettro o della rete, (2) processori di trasformata di Fourier a due stadi per l'analisi del ceppo e (3) processori di trasformata di Fourier a due stadi per il filtraggio in tempo reale. Processori di trasformata di Fourier basati su SAW per l'analisi spettrale di segnali, noti come ricevitori a compressione, sono disponibili in una vasta gamma di configurazioni per fornire risoluzioni spettrali su larghezze di banda analitiche fino a 1 GHz. Il capitolo discute anche l'uso di miscelatori bilineari in un processore di trasformazione SAW Fourier.



4

Una trasformata di Fourier su una funzione campionata discreta è una modifica delle funzioni di base da una serie di valori (tipicamente) del tempo di campionamento a una serie equivalente di valori dei componenti di frequenza. È una trasformazione lineare (la trasformata di Fourier di una somma di due serie è la somma delle trasformate di Fourier delle due serie), quindi è identica a una matrice che opera su un vettore (la serie del tempo di campionamento).

Una matrice di rango N che opera su un vettore con N componenti genera un secondo vettore con N componenti facendo moltiplicazioni N ^ 2 e (N ^ 2 - N) aggiunte.

Bene, quindi ora come funziona il metallo:

C'è un gizmo chiamato "analizzatore armonico" che moltiplica e accumula una frequenza (fondamentalmente una riga della matrice), che è una specie di computer analogico. Si tratta di tracciare l'input della funzione su una carta millimetrata, collegare un planimetro polare (integratore meccanico) e un collegamento (moltiplicatore meccanico) e tracciare la curva offre ... un elemento dell'output. Usarlo non è poi così male, ma per una trasformazione di 1024 elementi, devi eseguire l'operazione ... 1024 volte. Ecco come sono state calcolate le tavole di marea, un secolo fa. vedi l'articolo Strumenti matematici qui, pagina 71

Poi c'è il metodo manuale, che usa la regola della diapositiva e l'aggiunta della macchina, che richiede la ricerca degli elementi della matrice in una tabella di seni / coseni, e ciò significa che si utilizza la regola della diapositiva, per un campionamento di 1024 elementi, oltre 2 milioni di volte.

Anche un computer generico può eseguire l'operazione.

Alcuni design di CPU specializzati (processore di segnale digitale, DSP) sono realizzati con hardware accelerato di moltiplicazione, che accelera le cose. E c'è un algoritmo molto intelligente, il FFT, che aggira il problema di N campioni che richiedono operazioni N ^ 2, notando che una matrice 4x4 è una matrice 2x2 di matrici 2x2; c'è un modo per prendere qualsiasi numero composto (una potenza di due, come '1024' è conveniente) e usare solo le operazioni N * Log (N) nell'ordine invece di N ^ 2. Ciò significa che gli ingressi 1024 richiedono solo 61.440 operazioni anziché 1.048.576.

La FFT non semplifica una trasformata di Fourier discreta generale, perché richiede che il valore N sia nonprime (e quasi sempre viene utilizzata una potenza di due), ma può essere supportato dall'hardware in vari modi, in modo che le operazioni (moltiplica-accumula) sono i limiti di tempo. Un moderno chip (2019) (ADBSP-561 dalla colonna MMAC Analog Devices ) può eseguire 2400 operazioni di questo tipo per microsecondo.


-4

9
No, non è quello che fa un analizzatore di spettro in generale. Alcuni (molti) analizzatori di spettro hanno una modalità FFT, ma anche allora, ciò che l'analizzatore di spettro ti mostra è una stima PSD, non una trasformata di Fourier.
Marcus Müller

Risposte che sono principalmente un collegamento a un altro sito per non fornire valore duraturo, poiché il collegamento potrebbe essere interrotto domani. Dovresti riassumere i contenuti importanti dal link nella tua risposta.
Elliot Alderson

@ MarcusMüller - che cos'è una "stima PSD"?
Pete Becker

1
@PeteBecker Un preventivo per la densità spettrale di potenza. La distribuzione della potenza prevista sulle frequenze per un segnale che devi considerare casuale perché non lo conosci. La definizione matematicamente esatta per un PSD è "Trasformata di Fourier della funzione di autocorrelazione di un processo stocastico"; ma per la maggior parte dei casi, supponiamo che il processo stocastico (== segnale casuale) sia stazionario a senso debole e quindi FT (ACF) == aspettativa (FT² (segnale temporale)).
Marcus Müller
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.