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.