Seperti apa perangkat keras mengimplementasikan transformasi Fourier?

12

Saya melihat-lihat online tetapi saya tidak menemukan yang relevan. Sangat sulit bagi perangkat elektronik untuk menguraikan sinyal dalam frekuensi yang berbeda.

Bagaimana ini dilakukan pada tingkat logam kosong?

Sumber atau komentar yang disarankan akan sangat membantu

veronika
sumber
4
Sering kali Anda tidak perlu FT untuk melakukan pemrosesan sinyal, terutama penyaringan. Misalnya Anda dapat menggunakan filter pasif atau aktif yang tergantung pada sifat kapasitor dan induktor. Bahkan dalam domain digital, ketika bekerja dengan nilai-nilai di luar ADC, Anda dapat pergi tanpa FT untuk beberapa tugas (mis. Lihat smoothing eksponensial ).
anrieff
Pertanyaan "Apa ..." terlalu luas untuk disesuaikan dengan model pertukaran tumpukan. Biasanya ketika salah satu secara khusus menyebutkan Fourier transform sesuatu yang mampu perhitungan yang tersirat (sekitar konvolusi yaitu delay, multiply, dan menumpuk, secara paralel atau dengan penyimpanan dan logika untuk urutan berulang), tetapi persyaratan perangkat keras tergantung pada persyaratan aplikasi, dan sebanyak menunjukkan ada alternatif untuk perhitungan numerik (atau setidaknya digital).
Chris Stratton
3
Sebuah lensa tidak (bukan jawaban karena tidak perangkat elektronik tapi sekali lagi tidak bergetar alang-alang).
Ghanima

Jawaban:

39

Perangkat yang menggunakan Fourier Transform

Sangat sulit bagi perangkat elektronik untuk menguraikan sinyal dalam frekuensi yang berbeda.

Ini bukan.

Sebenarnya ada beberapa perangkat yang melakukan itu, secara eksplisit.

Pertama-tama, Anda harus membuat perbedaan antara transformasi Fourier berkelanjutan (yang mungkin Anda kenal sebagai F{x(t)}(f)=-x(t)ej2πftdt ) dan Digital Fourier Transform (DFT), yang dapat Anda lakukan dengan sinyal sampel.

Untuk keduanya, ada perangkat yang mengimplementasikannya.

Transformasi Fourier Berkelanjutan

Ada sedikit cara kebutuhan aktual untuk ini dalam elektronik digital - sinyal digital diambil sampelnya, jadi Anda akan menggunakan DFT.

Dalam optik dan fotonik, Anda akan melihat bahwa ada peluang aktual untuk mendapatkan benda periodik yang sempurna dengan panjang "besar" (baca: hampir tak terhingga dari integral di atas). Secara efektif, elemen acousto-optik dapat bersemangat dengan satu atau beberapa nada, dan itu akan memiliki efek korelasi yang sama dengan integral di atas. Anda tidak perlu melihat pada pemenang Hadiah Nobel Fisika 2018 untuk menemukan contoh Fourier Optik .

Discrete Fourier Transform

Ini benar - benar di semua tempat ; ini merupakan langkah pemrosesan standar sehingga sebagai insinyur komunikasi, kita bahkan sering lupa di mana tempatnya.

Jadi, daftar ini jauh dari lengkap; contoh saja:

  • Ekualiser : Sangat mudah membangun equalizer audio digital dengan DFT. Biasanya, jenis equalizer nol-memaksa untuk sistem komunikasi menggunakan DFT untuk menemukan representasi domain frekuensi dari saluran yang diperlukan untuk "dihapus", membalikkan itu dan menggunakan IDFT untuk mendapatkan kembali bahwa kembali ke domain waktu untuk digunakan sebagai ketukan dalam filter cemara.
  • Antena Array / Beamsteering : Jika Anda memiliki array antena dalam jarak tetap dari satu sama lain, Anda dapat mengarahkan berkas antena ini, dengan menghitung DFT dari "vektor directional" yang ingin Anda capai dan gunakan hasilnya sebagai kompleks koefisien untuk dikalikan dengan sinyal transmisi yang Anda distribusikan ke antena ini. Sistem MIMO dunia nyata melakukannya.
  • Temuan Arah : Apa yang bekerja dalam arah transmisi bekerja persis sama, tetapi terbalik, dalam arah terima: Dapatkan sinyal untuk masing-masing antena dalam array Anda, temukan faktor kompleks antara sinyal-sinyal ini, lakukan IDFT, dapatkan vektor berisi info bagaimana kekuatan datang dari arah mana. Mudah! Dan dilakukan untuk memperkirakan di mana pesawat berada, di mana mitra komunikasi Wifi berada, kapal selam (meskipun tidak ada antena melainkan mikrofon bawah air) ...
  • Channelization : Satelit di ruang angkasa mahal, jadi beberapa program TV perlu di-uplink ke satu satelit. Anda dapat menggunakan DFT (terutama di Polyphase Filterbank) untuk meletakkan beberapa saluran dalam satu uplink, atau untuk mengisolasi masing-masing saluran dari satu sinyal pita lebar. Itu bukan domain TV; itu terjadi dalam pemrosesan audio, pencitraan medis, analisis ultrasonik, penyiaran radio ...)
  • Pengkodean Data untuk sistem multicarrier : Untuk mengatasi masalah saluran lebar (yang Anda perlukan jika Anda ingin mengangkut banyak bit per detik), yaitu kebutuhan untuk equaliser yang kompleks, Anda ingin memotong saluran Anda di banyak saluran kecil (lihat "channelisasi" di atas). Namun, Anda dapat memahami DFT sendirian sebagai Filterbank untuk filter time-domain-rectangular yang bergeser frekuensi. Yang menyenangkan tentang itu adalah bahwa saluran ini sangat padat. Hal baik lainnya adalah bahwa konvolusi dengan saluran berkurang menjadi perkalian titik-bijaksana yang super mudah untuk dikembalikan. Kami menyebutnya metode OFDM , dan semua Wifi, LTE, 5G, WiMax, ATSC, DVB-T, Digital Audio Broadcasting, DSL, dan banyak lagi sistem menggunakannya.
  • Filter Efisien : Filter FIR adalah konvolusi dengan respons impuls filter dalam domain waktu. Karena itu, ia menggunakan banyak operasi per sampel keluaran - ini sangat intensif secara komputasi. Anda dapat sangat mengurangi upaya itu ketika menerapkan konvolusi cepat , yang didasarkan pada bagian DFT dari sampel input, mengubah mereka dengan DFT dari respons impuls dalam domain frekuensi, tumpang tindih dengan segmen sebelumnya, dan transformasi kembali ke domain waktu. Itu sangat praktis sehingga digunakan di hampir semua sistem yang memiliki filter FIR yang panjang (dan "panjang" mungkin mulai dengan angka yang tidak berbahaya seperti "16 ketukan").
  • Radar : Radar otomotif klasik menggunakan radar FMCW yang mengatur sendiri; untuk mendapatkan gambar baik kecepatan relatif dan jarak reflektor yang diamati oleh itu, Anda biasanya melakukan DFT dua dimensi (yang sebenarnya hanya DFT'ing semua kolom matriks dan kemudian semua baris hasilnya).
  • Kompresi Audio dan Gambar / Video : Meskipun JPEG menggunakan Discrete Cosine Transform , bukan DFT itu sendiri, ada banyak codec mekanisme yang setidaknya menggunakan bagian signifikan dari DFT.

Perhatikan bahwa daftar di atas hanya berisi hal-hal yang melakukan DFT selama operasi . Anda dapat 100% yakin bahwa selama desain apa pun yang terkait dengan RF, terutama antena, mixer, amplifier, (de) modulator, banyak Transformasi Fourier / analisis Spektral terlibat. Hal yang sama berlaku untuk desain perangkat audio, desain tautan data berkecepatan tinggi, analisis gambar ...

Bagaimana ini dilakukan?

Saya hanya akan membahas DFT di sini.

Biasanya, itu diimplementasikan sebagai FFT , Fast Fourier Transform. Itu salah satu penemuan algoritmik paling penting dari abad ke-20, jadi saya akan menyisakan sedikit kata tentang itu, karena ada ribuan artikel di luar sana yang menjelaskan FFT.

ej2πnNkej2π1Nkn=Wn

Dengan begitu, Anda dapat mengurangi kompleksitas DFT dari $ N ^ 2 $ (yang akan menjadi kompleksitas jika Anda menerapkan DFT sebagai jumlah naif) menjadi sesuatu dalam urutan NcatatanNN

Ini relatif mudah untuk mengimplementasikannya dalam perangkat keras, jika Anda bisa mendapatkan seluruh vektor input sekaligus - Anda mendapatkan catatanNN=2l

Dalam perangkat lunak, prinsipnya sama, tetapi Anda perlu tahu cara multi-thread transformasi yang sangat besar, dan cara mengakses memori secepat mungkin dengan memanfaatkan cache CPU Anda secara optimal.

Namun, untuk perangkat keras dan perangkat lunak, ada perpustakaan yang hanya Anda gunakan untuk menghitung DFT (FFT). Untuk Perangkat Keras, yang biasanya berasal dari vendor FPGA Anda (mis. Altera / Intel, Xilinx, Lattice ...), atau perusahaan alat desain ASIC besar (Cadence) atau rumah ASIC Anda.

Marcus Müller
sumber
Dedikasi yang mengesankan untuk karya seni Anda, setuju bahwa 'panjang' adalah O (16) untuk filter FIR.
Neil_UK
:) Terima kasih! Namun, Anda melihat jawaban yang jauh lebih mengesankan daripada ini :)
Marcus Müller
1
Walaupun ini adalah jawaban yang sangat terperinci, dan akan memberikan FFT akurat dari sinyal yang masuk, itu tidak menjawab pertanyaan. Ini adalah proses digital yang diterapkan pada sinyal input, ini bukan solusi yang diterapkan pada perangkat keras (selain dari konverter AD di ujung depan).
Jennifer
1
Jennifer benar. Anda harus membahas DFT analog atau paling tidak mengklarifikasi bahwa DFT berarti FT diskrit , tetapi tidak harus FT digital .
leftaroundabout
2
Halaman 43 (penomoran pdf) dalam proses ini membahas FIR berdasarkan FFT analog: imagesensors.org/Past%20Workshops/Marvin%20White%20Collection/…
leftaroundabout
12

Anda tidak bisa mendapatkan lebih banyak "bare metal" dan "hardware" daripada satu set buluh bergetar.

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

Jadi perangkat keras apa yang melakukan transformasi fourier, sekelompok sistem resonansi dapat melakukan itu

Jasen
sumber
1
ya mewah. Ayah saya memberi tahu saya tentang perangkat serupa yang mereka gunakan di uni untuk analisis frekuensi mesin bergetar.
Marcus Müller
5
Ini kira-kira bagaimana telinga pekerjaan Anda, juga, melihat cochlea.eu/en/cochlea/function
zwol
5

Perangkat Gelombang Akustik Permukaan digunakan sebagai perangkat elektro-mekanis analog untuk melakukan beberapa tugas pemrosesan sinyal. Sebagian besar kertas paywalled.

Bab 16 dari buku Colin Campbell 1989 Surface Acoustic Wave Devices dan Aplikasi Pemrosesan Sinyal mereka

Ringkasan Penerbit

Bab ini menyajikan teknik transformasi Fourier real-time cepat menggunakan SAW filter chirp termodulasi frekuensi linear dengan waktu pemrosesan hanya beberapa mikrodetik. Teknik berbasis SAW memiliki aplikasi untuk sonar, radar, spread spectrum, dan teknologi komunikasi lainnya yang membutuhkan analisis cepat atau penyaringan sinyal kompleks. Dengan sistem transformasi Fourier berbasis SAW, ini dilakukan pada tahap frekuensi menengah (IF). Filter kicauan FM linier SAW dapat dikonfigurasi untuk memengaruhi sejumlah manipulasi transformasi Fourier. Tiga di antaranya adalah (1) transformator Fourier tahap tunggal untuk spektrum atau analisis jaringan, (2) prosesor Fourier transform dua tahap untuk analisis cepstrum, dan (3) prosesor transformasi Fourier dua tahap untuk penyaringan waktu-nyata. Fourier transform prosesor berbasis SAW untuk analisis spektral sinyal, yang dikenal sebagai penerima tekan, tersedia dalam berbagai konfigurasi untuk memberikan resolusi spektral melalui bandwidth analitik hingga 1 GHz. Bab ini juga membahas penggunaan mixer bilinear dalam prosesor transformasi SAW Fourier.

uh oh
sumber
4

Ini dapat dilakukan pada level logam telanjang - secara harfiah - menggunakan Harmonic Analyzer:

https://www.youtube.com/watch?v=NAsM30MAHLg

Dan maaf untuk memberikan jawaban hanya tautan, tetapi yang ini benar-benar harus Anda lihat sendiri.

AndreKR
sumber
ya, seri pendek ini layak untuk ditonton.
uhoh
4

Transformasi Fourier pada fungsi sampel diskrit adalah perubahan fungsi dasar dari serangkaian nilai kali-sampel (biasanya) menjadi serangkaian nilai frekuensi-komponen yang setara. Ini adalah transformasi linear (transformasi Fourier dari jumlah dua seri adalah jumlah dari transformasi Fourier dari dua seri), sehingga identik dengan matriks yang beroperasi pada vektor (seri time-of-sample).

Matriks peringkat N yang beroperasi pada vektor dengan komponen N menghasilkan vektor kedua dengan komponen N dengan melakukan perkalian N ^ 2, dan penambahan (N ^ 2 - N).

Oke, jadi sekarang bagaimana logam melakukan ini:

Ada alat yang disebut 'harmonic analyzer' yang mengalikan dan mengakumulasi satu frekuensi (pada dasarnya satu baris matriks), yang merupakan sejenis komputer analog. Ini melibatkan memplot fungsi input pada kertas grafik, menghubungkan polar planimeter (integrator mekanik) dan linkage (pengali mekanik) dan melacak kurva memberi Anda ... satu elemen dari output. Menggunakannya tidak terlalu buruk, tetapi untuk transformasi 1024-elemen, Anda harus melakukan operasi ... 1024 kali. Ini adalah bagaimana tabel pasang surut dihitung, seabad yang lalu. lihat artikel Instrumen Matematika di sini, halaman 71

Lalu ada metode manual, menggunakan slide rule dan menambahkan mesin, yang membutuhkan mencari elemen matriks dalam tabel sinus / cosinus, dan itu berarti Anda mengoperasikan slide rule Anda, untuk pengambilan sampel 1024 elemen, lebih dari 2 juta kali.

Komputer serba guna dapat melakukan operasi juga.

Beberapa (prosesor sinyal digital, DSP) khusus desain CPU dibuat dengan akselerasi multiply-akumulasi hardware, yang mempercepat. Dan, ada algoritma yang sangat pintar, FFT, yang mengatasi masalah sampel N yang membutuhkan operasi N ^ 2, dengan mencatat bahwa matriks 4x4 adalah matriks 2x2 dari matriks 2x2; ada cara untuk mengambil angka komposit (kekuatan dua, seperti '1024' mudah digunakan) dan hanya menggunakan operasi N * Log (N) sesuai pesanan alih-alih N ^ 2. Itu berarti 1024 input hanya membutuhkan 61.440 operasi, bukan 1.048.576.

FFT tidak menyederhanakan transformasi Fourier diskrit umum, karena mengharuskan nilai N menjadi nonprima (dan hampir selalu menggunakan kekuatan dua), tetapi FFT dapat didukung perangkat keras dalam berbagai cara, sehingga operasi (Mengalikan-akumulasi) adalah langkah yang membatasi waktu. Satu chip (2019) modern (ADBSP-561 dari kolom MMAC Perangkat Analog ) dapat melakukan 2.400 operasi seperti itu per mikrodetik.

Whit3rd
sumber
-4

Pada dasarnya itulah yang dilakukan oleh penganalisa spektrum:

https://www.electronics-notes.com/articles/test-methods/spectrum-analyzer/realtime-spectrum-analyser.php

Kit
sumber
9
Tidak, bukan itu yang dilakukan penganalisa spektrum secara umum. Beberapa (banyak) penganalisa spektrum memiliki mode FFT, tetapi meskipun begitu, apa yang ditunjukkan penganalisis spektrum kepada Anda adalah perkiraan PSD, bukan transformasi Fourier.
Marcus Müller
Jawaban yang sebagian besar berupa tautan ke situs lain untuk tidak memberikan nilai yang langgeng, karena tautan itu mungkin rusak besok. Anda harus meringkas konten penting dari tautan dalam jawaban Anda sendiri.
Elliot Alderson
@ MarcusMüller - apa itu "perkiraan PSD"?
Pete Becker
1
@PeteBecker Perkiraan untuk Power Spectral Density. Distribusi kekuatan yang diharapkan atas frekuensi untuk sinyal yang harus Anda pertimbangkan secara acak karena Anda tidak mengetahuinya. Definisi tepat matematis untuk PSD adalah "Transformasi Fourier dari Fungsi Autokorelasi dari proses stokastik"; tetapi untuk sebagian besar kasus, kami hanya menganggap proses stokastik (== sinyal acak) sebagai stasioner Lemah-Sense dan karenanya FT (ACF) == harapan (FT² (sinyal Waktu)).
Marcus Müller