Saya mengembangkan perangkat lunak yang menghitung respons suatu sistem dengan membandingkan FFT sinyal input dan output. Sinyal input dan output dibagi menjadi windows dan, untuk setiap jendela, sinyal median dikurangi dan dikalikan dengan fungsi Hann. Respons instrumen untuk jendela itu adalah rasio FFT dari data yang diproses.
Saya percaya di atas adalah prosedur standar, meskipun saya mungkin menggambarkannya dengan buruk. Masalah saya ada pada bagaimana menggabungkan tanggapan dari banyak windows.
Sejauh yang saya bisa lihat, pendekatan yang benar adalah dengan rata-rata nilai kompleks, di semua jendela. Amplitudo dan respons fasa kemudian merupakan amplitudo dan fase dari nilai rata-rata dan kompleks pada setiap frekuensi:
av_response = sum_windows(response) / n
av_amplitude = sqrt(real(av_response)**2 + imag(av_response)**2)
av_phase = atan2(imag(av_response), real(av_response))
dengan loop implisit di tempat frekuensi.
Tetapi saya telah diminta untuk mengubah ini untuk menghitung amplitudo dan fase di setiap jendela terlebih dahulu , dan kemudian rata-rata amplitudo dan fase di semua jendela:
amplitude = sqrt(real(response)**2 + imag(response)**2)
av_amplitude = sum_windows(amplitude) / n
phase = atan2(imag(response), real(response))
av_phase = sum_windows(phase) / n
Saya berpendapat bahwa ini tidak benar karena sudut rata-rata adalah "salah" - rata-rata 0 dan 360 derajat adalah 180, misalnya, tetapi orang-orang yang bekerja sama dengan saya menjawab dengan mengatakan "OK, kami hanya akan menampilkan amplitudo".
Jadi pertanyaan saya adalah:
- Apakah saya benar dalam berpikir bahwa pendekatan kedua umumnya tidak benar untuk amplitudo juga?
- Jika demikian, apakah ada pengecualian yang mungkin relevan, dan yang dapat menjelaskan mengapa orang yang bekerja dengan saya lebih suka metode kedua? Sebagai contoh, sepertinya kedua pendekatan akan setuju karena kebisingan menjadi kecil, jadi mungkin ini merupakan perkiraan yang diterima untuk kebisingan rendah?
- Jika pendekatan kedua tidak benar, apakah ada referensi meyakinkan dan otoritatif yang dapat saya gunakan untuk menunjukkan ini?
- Jika pendekatan kedua tidak benar, apakah ada contoh yang bagus dan mudah dipahami yang menunjukkan ini untuk amplitudo (seperti rata-rata 0 dan 360 derajat untuk fase)?
- Atau, jika saya salah, buku apa yang bagus untuk saya mendidik diri sendiri dengan lebih baik?
Saya telah mencoba untuk berpendapat bahwa rata-rata -1 1 1 -1 1 -1 -1 harus nol daripada 1, tetapi itu tidak meyakinkan. Dan sementara saya pikir saya bisa, dengan waktu, membangun argumen berdasarkan estimasi kemungkinan maksimum yang diberikan model kebisingan tertentu, itu bukan jenis alasan bahwa orang yang bekerja dengan saya akan mendengarkan. Jadi, jika saya tidak salah, saya perlu argumen yang kuat dari otoritas atau demonstrasi yang "jelas".
[Saya mencoba menambahkan lebih banyak tag, tetapi tidak dapat menemukan yang relevan dan tidak dapat mendefinisikan yang baru sebagai pengguna baru - maaf]
sumber
Jawaban:
Estimasi fungsi transfer biasanya diterapkan sedikit berbeda dari metode yang Anda gambarkan.
Metode Anda menghitung
di mana angle brackets mewakili rata-rata yang diambil alih segmen data, dan fungsi windowing diterapkan ke setiap segmen data sebelum mengambil transformasi Fourier ( ).⟨ ⟩ F
Implementasi yang lebih tipikal akan menghitung kerapatan spektral silang x dan y dibagi dengan kerapatan spektral daya x:
Di mana mewakili produk pointwise, dan konjugat kompleks.⋅ ∗
Saya percaya ini untuk mengurangi efek segmen data di mana terlalu kecil.F[ x ]
Estimasi tidak koheren
Majikan Anda telah menyarankan agar Anda memperkirakan fungsi transfer menggunakan
Ini akan berhasil , tetapi memiliki dua kelemahan besar:
Metode Anda dan metode yang saya jelaskan mengelak dari masalah ini dengan menggunakan rata-rata yang koheren .
Referensi
Gagasan umum untuk menggunakan segmen yang tumpang tindih dan rata-rata untuk menghitung kepadatan spektral daya dikenal sebagai metode Welch . Saya percaya ekstensi untuk menggunakan ini untuk memperkirakan fungsi transfer juga sering dikenal sebagai metode Welch, meskipun saya tidak yakin apakah itu disebutkan dalam makalah Welch. Mencari kertas Welch mungkin merupakan sumber daya yang berharga. Sebuah monograf yang berguna pada subjek adalah buku Bendat dan Piersol, Data Acak: Prosedur Analisis dan Pengukuran .
Validasi
Untuk memvalidasi perangkat lunak Anda, saya sarankan menerapkan beberapa kasus uji, di mana Anda menghasilkan white noise Gaussian dan memasukkannya melalui filter digital dengan fungsi transfer yang diketahui. Masukkan input dan output ke dalam rutinitas estimasi fungsi transfer Anda dan verifikasi bahwa estimasi tersebut konvergen dengan nilai yang diketahui dari fungsi transfer.
sumber
Selamat Datang di Pemrosesan Sinyal!
Anda benar sekali. Anda tidak bisa hanya mengukur besaran dan fase DFT secara terpisah, terutama fase. Berikut ini adalah demonstrasi sederhana:
Pada kasus ini,
Juga,
Sekarang, untuk melakukan apa yang Anda coba lakukan, saya sarankan yang berikut ini. Secara teoritis, Anda dapat menemukan respons impuls suatu sistem dengan membagi DFT dari output dengan DFT dari input. Namun, di tengah kebisingan Anda akan mendapatkan hasil yang sangat aneh. Cara yang sedikit lebih baik untuk melakukannya adalah dengan menggunakan estimasi respons impuls FFT dual-channel, yang berbunyi sebagai berikut (derivasi tidak disediakan di sini, tetapi Anda dapat menemukannya online).
sumber
Ini adalah perbedaan antara rata-rata spektrum FFT yang koheren dan tidak koheren. Rata-rata koheren lebih mungkin untuk menolak kebisingan acak dalam analisis. Incoherent lebih cenderung menonjolkan besaran noise acak. Manakah dari ini yang lebih penting untuk laporan hasil Anda?
sumber