Apa pengaruh penundaan dalam domain waktu di domain frekuensi?

21

Jika saya memiliki sinyal yang waktunya terbatas, katakanlah sinusoid yang hanya berlangsung selama detik, dan saya mengambil FFT dari sinyal itu, saya melihat respons frekuensi. Dalam contoh ini akan menjadi lonjakan pada frekuensi utama sinusoid.T

Sekarang, katakan saya mengambil sinyal waktu yang sama dan tunda dengan konstanta waktu lalu ambil FFT, bagaimana hal berubah? Apakah FFT dapat mewakili penundaan waktu itu?

Saya menyadari bahwa waktu tunda mewakili perubahan dalam domain frekuensi, tetapi saya mengalami kesulitan menentukan apa artinya sebenarnya .exp(jωt)

Secara praktis, apakah domain frekuensi tempat yang tepat untuk menentukan waktu tunda antara berbagai sinyal?

gallamine
sumber
1
Itu tergantung pada apa yang Anda maksud dengan FFT. Katakanlah sinyal asli Anda memiliki sampel waktuMisalkan keterlambatan adalah sampel. Jadi sekarang Anda memiliki sampel dengan pertama menjadi . Apakah Anda menghitung FFT sampel pertama (sama seperti sebelumnya)? dari sampel ? dari terakhir dari sampel? Jawabannya akan tergantung pada apa yang Anda maksud dengan FFT ...100 N + 100 100 0 N N + 100 N N + 100N100N+1001000NN+100NN+100
Dilip Sarwate
1
@Dilip Saya mencari jawaban yang lebih umum. Mungkin penjelasan tentang apa yang akan berubah dalam skenario itu akan membantu?
Gallamine
1
Jika Anda melewatkan terakhir dari sampel ke subrutin FFT titik- , Anda akan mendapatkan FFT yang sama dengan yang Anda dapatkan sebelumnya. Tidak ada perbedaan sama sekali. Jika Anda melewatkan pertama dari sampel (dengan sampel pertama menjadi ) ke subrutin FFT titik- Anda, Anda akan mendapatkan hal-hal yang sulit untuk ditafsirkan. Baca Jawaban oleh @JasonR hati-hati yang memberitahu Anda bahwa jika sampel pertama diisi dari data Anda melalui perubahan melingkar atau siklik , maka Anda akan melihat keterlambatan tercermin dalam fase sampel. N + 100 NNN+100NN + 100 100 0 N 100NN+1001000N100
Dilip Sarwate

Jawaban:

21

The diskrit transformasi Fourier (DFT) , umumnya dilaksanakan oleh Fast Fourier Transform (FFT) , peta urutan terbatas-panjang diskrit sampel waktu-domain ke urutan yang sama-panjang sampel frekuensi-domain. Sampel dalam domain frekuensi berada dalam bilangan kompleks umum; mereka mewakili koefisien yang dapat digunakan dalam jumlah tertimbang dari fungsi eksponensial kompleks dalam domain waktu untuk merekonstruksi sinyal domain waktu asli.

Bilangan kompleks ini mewakili amplitudo dan fase yang dikaitkan dengan setiap fungsi eksponensial. Dengan demikian, setiap angka dalam urutan output FFT dapat diartikan sebagai:

X[k]=n=0N1x[n]ej2πnkN=Akejϕk

Anda dapat menafsirkan ini sebagai berikut: jika Anda ingin merekonstruksi x [n], sinyal yang Anda mulai, Anda dapat mengambil banyak fungsi eksponensial yang kompleks , bobot masing-masing dengan , dan jumlahkan. Hasilnya persis sama (dalam ketelitian numerik) hingga . Ini hanya definisi berbasis kata dari DFT terbalik.X[k]=Akejϕej2πnkN,k=0,1,,N1 x[n]X[k]=Akejϕkx[n]

Jadi, ketika berbicara dengan pertanyaan Anda, berbagai rasa dari transformasi Fourier memiliki properti yang menunda domain waktu memetakan ke pergeseran fase dalam domain frekuensi. Untuk DFT, properti ini adalah:

x [ n - D ]

x[n]X[k]
x[nD]ej2πkDNX[k]

Yaitu, jika Anda menunda sinyal input Anda dengan sampel , maka setiap nilai kompleks dalam FFT sinyal dikalikan dengan konstanta . Adalah umum bagi orang-orang untuk tidak menyadari bahwa output DFT / FFT adalah nilai-nilai kompleks, karena mereka sering divisualisasikan sebagai besaran saja (atau kadang-kadang sebagai besaran dan fase).Dej2πkDN

Sunting: Saya ingin menunjukkan bahwa ada beberapa kehalusan pada aturan ini untuk DFT karena keterbatasan cakupan waktu. Secara khusus, pergeseran sinyal Anda harus melingkar agar hubungan dapat ditahan; yaitu, ketika Anda menunda oleh sampel , Anda perlu membungkus sampel terakhir yang berada di ujung ke depan sinyal yang tertunda. Ini tidak akan benar-benar cocok dengan apa yang akan Anda lihat dalam situasi nyata di mana sinyal tidak dimulai sampai setelah awal aperture DFT (dan didahului oleh nol, misalnya). Anda selalu dapat menyiasati hal ini dengan menambahkan nol sinyal asli sehingga saat Anda menunda olehD D x [ n ] x [ n ] Dx[n]DDx[n]x[n]Dsampel, Anda hanya membungkus nol ke depan. Hubungan ini hanya berlaku untuk DFT karena terbatas pada waktunya; itu tidak berlaku untuk transformasi Fourier klasik atau transformasi Fourier diskrit-waktu .

Jason R
sumber
1

Gallamine,

Ini berarti bahwa akan ada offset fase dalam vektor FFT Anda. Ketika Anda FFT sinyal (nyata) Anda, jawaban Anda akan kompleks, sehingga Anda akan memiliki bagian nyata, dan imajiner. Jika Anda mengambil fase mereka, (inverse_tangent (imag / real)), ini akan menampilkan semua fase frekuensi. Cara fase mereka berbeda dari jika Anda tidak memiliki penundaan terkait langsung dengan penundaan yang Anda miliki dalam waktu.

(Di matlab Anda juga bisa mendapatkan fase hanya dengan "angle (fft_result)").

Omong-omong jika Anda melakukan korelasi sinyal Anda dengan penundaan dan tanpa penundaan dan memilih puncaknya, Anda bisa mendapatkan penundaan dengan cara itu. Dalam freq-domain itu mengurangi semua fase sinyal Anda tanpa penundaan, dari semua sinyal dengan penundaan, dan mengambil rata-rata.

Spacey
sumber
2
Ada terlalu banyak hal yang tidak terungkap dan tidak ditentukan dalam jawaban ini. Mohammad pada dasarnya mengasumsikan pergeseran data secara melingkar tanpa mengatakannya. Lihat jawaban @ JasonR (diedit) untuk uraian yang seksama tentang hal ini, dan komentar saya pada pertanyaan utama yang mengatakan bahwa ada banyak cara menggunakan FFT dan semuanya memberikan hasil yang berbeda
Dilip Sarwate
@DilipSarwate benar, ini dengan asumsi pergeseran melingkar data. Saat ia menunjukkan ada kehalusan dalam FFT berdasarkan vektor input.
Spacey
@ Gallamine, bolehkah saya bertanya seperti apa vektor data Anda, exmaple: - Signal1: [someZeros, signal, someZeros] - Signal2: [someDifferentNumberOfZeros, signal, someDifferentNumberOfZeros]
Spacey
1

sin(ωt)ω

aman dalam
sumber
Hai aman. Selamat datang di Signals.SE. Bisakah Anda mengambil sedikit waktu dan memformat jawaban Anda sedikit? Kami telah mengaktifkan MathJax , yang umumnya kami sukai untuk persamaan. Saya melakukan edit parsial cepat yang memiliki beberapa contoh jika Anda belum pernah menggunakannya sebelumnya. Terima kasih atas kontribusi Anda, dan sekali lagi, selamat datang di situs ini!
datageist