Mengekstrak frekuensi dari FFT

15

Saya melakukan FFT 512 titik pada sinyal. Saya mendapat set 512 Angka lainnya. Saya mengerti bahwa angka-angka itu mewakili amplitudo dari berbagai gelombang sinus dan kosinus yang memiliki frekuensi berbeda.

Jika pemahaman saya benar, dapatkah seseorang memberi tahu saya cara mengetahui frekuensi gelombang sinus dan kosinus dari pengetahuan 512-angka (yaitu amplitudo)?

gpuguy
sumber

Jawaban:

16

Dengan asumsi 512 sampel sinyal diambil pada freqeuncy sampling fs , maka dihasilkan 512 koefisien FFT sesuai dengan frekuensi:

fs/5122fs/512511fs/512

Karena Anda berurusan dengan sinyal waktu diskrit, transformasi Fourier bersifat periodik, dan FFT tidak terkecuali.

511fs/512=(511512)fs/512=1fs/512 .

Hal yang sama berlaku untuk koefisien kedua hingga terakhir, dan seterusnya. Ini adalah mirroring yang dikomentari oleh Daniel Hicks.

Juga, jika Anda mengubah sinyal nyata, maka semua informasi Anda terkandung dalam 256 koefisien FFT pertama. Selebihnya adalah konjugasi kompleks dari koefisien pertama.

Juancho
sumber
7

Itu selalu membuat kepala saya sakit, tetapi pertama-tama pahami bahwa Anda hanya memiliki 256 frekuensi. Bergantung pada algoritma yang digunakan, 256 kedua hanyalah cermin dari yang pertama atau mereka mewakili komponen imajiner yang sesuai dengan komponen nyata dalam 256 pertama.

Juga pahamilah bahwa resolusi frekuensi FFT hanya naik hingga setengah dari frekuensi pengambilan sampel, jadi jika Anda mengambil sampel pada 10.000 sampel per detik, frekuensi tertinggi yang diselesaikan adalah 5.000 Hz.

Dari sana Anda bisa mengetahuinya. Katakanlah Anda memiliki 256 bucket, mewakili tertinggi 5000Hz dan DC mewakili terendah. Setiap bucket memiliki lebar spektrum 5000/256 Hz, jadi nol dimulai pada DC, yang pertama dimulai pada 19,5Hz, yang kedua pada 39Hz, dll.

Bagaimanapun, begitulah cara saya selalu menemukan jawabannya.

Daniel R Hicks
sumber
7

Pertama, koefisien FFT yang Anda dapatkan tidak dipecah menjadi 256 sinus dan 256 koefisien cosinus. Ini adalah koefisien dari eksponensial kompleks sinyal Anda dibuat. Jika sinyal input Anda nyata, hanya 257 dari koefisien tersebut yang membawa informasi berguna (komponen DC; 255 komponen; komponen frekuensi nyquist; kemudian konjugasi dari 255 komponen, satu-satunya informasi yang mereka bawa adalah bahwa sinyal Anda memiliki bagian imajiner nol) . Modulus koefisien membawa informasi amplitudo, informasi fase pembawa sudut, amplitudo kosinus bagian nyata dan amplitudo sinus bagian imajiner; dan komponen pada indekssaya berisi informasi tentang frekuensi sayaNsr dimana N adalah ukuran FFT dan sr tingkat sampel Anda.

pichenettes
sumber
1

Juancho menjawab pertanyaan itu, tetapi saya merasa saya harus menunjukkan pada diskusi lebih lanjut bahwa secara umum input ke DFT / FFT tidak sepenuhnya nyata, dan oleh karena itu, frekuensi negatif- atau lebih besar dari Nyquist- mengandung informasi selain konjugat dari Fs / 2 data.

John Mower
sumber