Bagaimana cara menemukan konvolusi kernel di domain frekuensi?

12

Saya memiliki dua vektor data spasial (masing-masing panjangnya sekitar 2000 elemen). Yang satu adalah versi yang berbelit-belit dari yang lain. Saya mencoba menentukan kernel yang akan menghasilkan konvolusi seperti itu. Saya tahu bahwa saya dapat melakukan ini dengan menemukan transformasi Fourier terbalik dari rasio transformasi Fourier output dan input vektor. Memang, ketika saya melakukan ini saya mendapatkan lebih atau kurang bentuk yang saya harapkan. Namun, vektor kernel saya memiliki dimensi yang sama dengan dua vektor input ketika pada kenyataannya konvolusi hanya menggunakan sekitar seperlima (~ 300-400) poin. Fakta bahwa saya mendapatkan bentuk yang tepat tetapi jumlah poin yang salah membuat saya berpikir bahwa saya tidak menggunakan fungsi ifft dan fft dengan benar. Sepertinya jika saya benar-benar melakukan hal yang benar ini harus terjadi secara alami. Saat ini saya hanya melakukan;

FTInput = fft(in); 
FtOutput = fft(out);
kernel = ifft(FtOutput./FTInput).

Apakah ini benar dan terserah saya untuk menginterpretasikan vektor keluaran dengan benar atau apakah saya terlalu menyederhanakan tugas? Saya yakin itu yang terakhir, saya hanya tidak yakin di mana.

Bowler
sumber
2
Apakah data input Anda berbantalan nol di kedua sisi dengan panjang konvolusi kernel? Seharusnya, kalau tidak Anda kehilangan informasi di sana, yang mungkin menjadi alasan untuk artefak ini.
leftaroundabout

Jawaban:

5

Jika Anda memiliki noise di sinyal Anda, divisi domain Fourier langsung akan menyebabkan banyak kesalahan dalam hasil Anda. Beberapa cara untuk menghindarinya adalah dengan menggunakan apa yang disebut FFT saluran ganda ( Bagian 1 dan Bagian 2 ). Saya juga dapat menyarankan dekonvolusi melalui filter adaptif, filter LMS atau NLMS ([Normalized] Least Mean Squares) khususnya yang mudah dimengerti, tidak terlalu mahal dalam hal siklus CPU jika sinyal Anda panjang. Filter adaptif LMS sangat kuat terhadap noise.

Phonon
sumber
Itu berhasil, terima kasih dan saya menemukan sesuatu yang sama sekali baru yang saya tidak tahu ada.
Bowler
@Phonon, apakah tautan itu berfungsi? Untuk apa tepatnya ini?
Spacey
@Mohammad: Ini untuk mengakses artikel dan buku ulasan teknis Brüel & Kjær. Daftar gratis dan memberikan akses ke banyak artikel bagus.
Thor