Teknik apa yang mungkin digunakan seseorang untuk memperkirakan waktu onset nada sinusoidal yang meledak dalam sinyal bising?
Asumsikan nada pecah memiliki frekuensi tetap yang diketahui (tetapi fase tidak diketahui) dan waktu naik sangat tajam, dan tujuannya adalah untuk memperkirakan waktu onset dalam lebih dari setengah waktu naik, dan / atau satu periode frekuensi nada , jika memungkinkan. Bagaimana teknik estimasi dapat berubah jika rasio S / N sangat rendah (jauh lebih sedikit dari 1)?
Ditambahkan: Asumsikan nada pecah memiliki panjang yang tidak diketahui, tetapi lebih panjang dari kelipatan kecil dari waktu naik dan periode frekuensi.
Ditambahkan: DFT / FFT menunjukkan kemungkinan adanya nada. Masalahnya adalah mencari tahu persis di mana di jendela FFT nada (atau mungkin beberapa nada meledak dari frekuensi yang sama) mungkin telah dimulai dalam jendela FFT, atau menentukan apakah nada saat ini mulai di luar jendela DFT, asalkan saya memiliki semua itu data domain waktu tambahan.
Akurasi deteksi pulsa radar lebih dekat dengan resolusi yang saya butuhkan, kecuali saya hanya memiliki keunggulan, karena nada memiliki panjang yang tidak diketahui, dan, selain waktu naik yang diketahui, tidak dimodifikasi. Filter pass band sempit mendistorsi waktu naik, dan dengan demikian membunuh resolusi estimasi kedatangan tepi.
sumber
Jawaban:
Seperti yang telah kita bahas di komentar, algoritma Goertzel adalah cara biasa untuk mendeteksi nada dalam noise. Setelah diskusi, saya tidak yakin apa yang Anda cari (Anda ingin waktu onset ), tetapi tampaknya ada kebingungan tentang bagaimana algoritma Goertzel dapat diterapkan untuk masalah Anda, jadi saya pikir saya akan menuliskannya sini.
Algoritma Goertzel
The Goertzel algoritma yang baik untuk digunakan jika Anda tahu frekuensi nada yang Anda cari (menyebutnya ), dan jika Anda memiliki ide yang masuk akal dari tingkat kebisingan sehingga Anda dapat memilih ambang deteksi yang tepat.fg
Algoritma Goertzel dapat dianggap sebagai selalu menghitung output dari SATU bin FFT:
di mana adalah frekuensi yang Anda cari.fg
Halaman Wikipedia memiliki cara yang lebih baik untuk menghitung ini.
Berikut ini adalah upaya (lemah) Scilab dalam mengimplementasikannya:
Pertimbangkan sinyal dengan dan ϕ = 4,4318752 :f= 0,0239074 ϕ = 4.4318752
Dalam contoh ini, nada mulai sepertiga dari jalan ke sinyal di indeks 1001.
Keempat jejak tersebut adalah:
Seperti yang dapat Anda lihat, kasus di mana nada yang kami minati berada di puncak sekitar 250. Jika kami menetapkan ambang deteksi sekitar setengah dari nilai ini (125), maka deteksi terjadi (nilai akar-kuadrat lebih besar dari 125 ) pada sekitar indeks 1450 --- 450 sampel setelah nada dimulai.
Ambang ini (125) tidak akan menyebabkan deteksi dalam kasus lain (untuk menjalankan ini, toh), tetapi nilai maksimum dari keluaran itu adalah 115,24, kami kami tidak dapat mengurangi ambang terlalu banyak tanpa mendapatkan deteksi yang salah.
Mengurangi ambang batas ke 116 akan menyebabkan deteksi dalam kasus yang sebenarnya (untuk menjalankan ini) di indeks 1401 ... tetapi kami menjalankan risiko lebih banyak alarm palsu.
sumber