Dekonvolusi sistem pengukuran dari respons sistem

14

Saya membentuk pengukuran identifikasi sistem, dan ingin mendekonvolusikan respons sistem pengukuran dari respons terukur.

Pengaturan sistem adalah sebagai berikut; sinyal dihasilkan pada PC, sinyal kemudian dikirim ke kartu suara, yang pada gilirannya meneruskan sinyal ke power amplifier, ini menggerakkan pengeras suara. Loudspeaker menyebarkan energi suara yang ditangkap oleh mikrofon, dan kembali ke kartu suara. Sinyal yang direkam kemudian diproses oleh komputer.

Sinyal dari kartu suara juga dimasukkan langsung kembali ke dirinya sendiri, yang memungkinkan saya untuk mengukur respon pc -> DAC -> ADC -> respon pc.

Saya ingin mendekonvolusikan 'rantai pengukuran' ini dari keseluruhan 'rantai sistem'. Metode apa yang bisa saya gunakan untuk tugas ini?

Tombak
sumber

Jawaban:

12

Maaf untuk jawaban panjang lebar, tetapi membuat pengukuran akustik yang baik sulit. Berikut adalah beberapa langkah yang terlibat (dan pada titik tertentu, kami akan benar-benar mendapatkan jawaban langsung dari pertanyaan Anda).

Pertama, Anda harus memastikan bahwa sistem yang Anda ukur adalah linear aktual dan invarian waktu (jika tidak, Anda tidak dapat mendekonvolusi). Ini bisa rumit pada PC jika Anda menggunakan driver kartu suara biasa. Ini akan merutekan sinyal apa pun melalui Windows Kernel Mixer yang sering menggunakan konversi laju sampel dan menarik buffer tepat pada waktunya dengan cara yang tidak deterministik. Saya sangat merekomendasikan untuk mengabaikan mixer Kernel.

Kedua, Anda perlu menentukan panjang impuls sistem Anda. Perkiraan yang baik adalah waktu gema ruangan yang Anda ukur. Paling mudah untuk memilih kekuatan 2; untuk sebagian besar kamar, ini akan 16384 atau 32768 pada tingkat sampel 44.1kHz atau 48 kHz.

Ketiga, buat eksitasi periodik dari panjang itu. Ini bisa berupa pembersihan log atau (lebih baik) suara acak semu. Spektrum kebisingan harus dipilih sehingga Anda mendapatkan rasio sinyal terhadap noise yang kira-kira konstan dalam rentang frekuensi yang diinginkan. Itu tergantung pada fungsi transfer dan pada spektrum kebisingan latar belakang. Jika Anda belum tahu keduanya, pink adalah awal yang baik. Mari kita sebut satu periode dari sinyal ini x [n].

Keempat, pasang sistem Anda sehingga saluran kiri dari D / A Anda masuk ke pengeras suara DAN ke saluran kiri A / D Anda. Sambungkan mikrofon ke saluran kanan A / D.

Kelima, mulai eksitasi (lingkaran itu atau buat file gelombang dengan banyak pengulangan sinyal noise Anda). Pantau semua level dengan hati-hati: pastikan A / D berada pada kisaran 10 dB di bawah kliping. Pastikan pre-amp mikrofon berada di sekitar 10 dB di bawah kliping. Pastikan power amp tidak terpotong dan bahwa loudspeaker tidak digerakkan.

Keenam, pastikan ruangan itu senyap mungkin. Tutup pintu dan jendela. Matikan sebagian besar hal dengan kipas termasuk sistem HVAC. Gusur semua orang lain dari lokasi. Jika ada loop ground, gunakan transformator isolasi dan ground lift sesuai kebutuhan. Cara yang baik untuk memeriksa noise adalah dengan menghubungkan headphone ke output mic dan mendengarkannya melalui headset. Suara bising, dengung, atau artefak lain yang dapat Anda dengar juga akan muncul di pengukuran.

Ketujuh, lakukan akuisisi yang sebenarnya. Kumpulkan 12 periode dengan sinyal eksitasi berjalan. Periksa secara visual hasil untuk sesuatu yang tidak biasa (celah, bagian hilang, putus, dll.) Membuang dua periode pertama. Hitung rata-rata di atas yang lain 10. Mari kita sebut saluran kiri y [n] (kartu suara) dan saluran kanan m [n] (mikrofon).

Kedelapan, hitung Transformasi Fourier y [n]. Ini harus cukup datar tanpa nol atau area energi yang sangat rendah. Ini mungkin tidak terjadi karena sebagian besar kartu suara memiliki input AC coupled, yaitu ada beberapa filter pass tinggi dan nilai pada DC mungkin sangat rendah. Demikian pula mungkin juga ada filter anti-aliasing, jadi sekali lagi Anda mungkin memiliki energi rendah atau hanya noise pada frekuensi yang sangat tinggi. Jika Anda dapat memperbaikinya secara manual (dengan menambahkan sedikit energi broadband), maka lakukanlah. Jika spektrumnya sangat datar di bidang frekuensi yang diinginkan, Anda dapat menggantinya dengan impuls unit yang tertunda dengan baik. Jika tidak ada yang berhasil, semuanya menjadi lebih rumit.

H(ω)={m(t)}{y(t)}
{}

H(ω)={m(t)}{x(t)}

Kesepuluh: verifikasi bahwa pengukuran Anda baik. Berbagai tes harus dilakukan:

  1. Ukur beberapa kali dan pastikan hasilnya sama.
  2. Ukur dengan pengeras suara tidak bersuara. Ini akan memberi Anda perkiraan yang baik dari spektrum kebisingan latar belakang. Sebagai aturan praktis, Anda memerlukan setidaknya 10 dB sinyal untuk rasio kebisingan di semua frekuensi yang diinginkan.
  3. Tes linearitas: ukur dengan setengah gain eksitasi dan konfirmasikan bahwa fungsi transfer yang dihasilkan adalah sama.
  4. Tes derau inline yang bermanfaat adalah sebagai berikut: Ambil 10 periode dan rata-rata 5 kali setiap 2 periode, lalu lakukan transformasi Fourier menjadi lebih dari 2 * sampel N. Jika sinyal Anda bebas noise maka semua nampan aneh harus nol. Anda dapat secara langsung memperkirakan rasio sinyal terhadap noise pada frekuensi berapa pun sebagai X {2 * N + 1} / X {2 * N}
Hilmar
sumber