Konteks:
(Penafian: Ini BUKAN masalah komunikasi).
Saya mencoba memperkirakan frekuensi fundamental dari sinyal periodik yang nyata. Sinyal ini, dibangun dengan menyaring pencocokan sinyal mentah, dengan pulsa. (filter yang cocok). Sinyal yang dihasilkan memiliki karakteristik sebagai berikut:
Itu periodik. (Fundamental adalah 1 / periode), dan inilah yang saya coba perkirakan.
Ini tidak stasioner dalam waktu. Secara khusus, amplitudo pulsa periodik dapat bervariasi dalam amplitudo. (misalnya, satu pulsa bisa rendah, sementara yang lain tinggi, dan berikutnya rendah lagi, dan satu setelah media itu, dll).
Saya percaya ini adalah frekuensi yang diam, (sebanyak Anda menerima perubahan amplitudo, tetapi tidak mengganti band).
Ini memiliki distorsi harmonik. Maksud saya di sini adalah itu, (dan koreksi saya jika saya salah), tetapi bahwa pulsa individu dalam sinyal bukanlah sinusoid, tetapi bentuk 'funky' seperti gaussian, triangle-ish, half-a-parabola, dll .
Saya mencoba memperkirakan frekuensi dasar sinyal ini.
Tentu saja, kadang-kadang sinyal mentah hanyalah kebisingan, tetapi masih melewati jalur dan tetap cocok difilter. (Lebih lanjut tentang itu nanti).
Apa yang saya coba:
Sekarang, saya mengetahui banyak penduga frekuensi dasar seperti
- Metode korelasi otomatis
- YIN, dan semua dependensinya
- Metode FFT.
dll,
YIN: Saya belum mencoba YIN.
Metode FFT: Metode FFT akan memberi Anda semua harmonik dan fundamental, tetapi saya perhatikan bahwa itu bisa menjadi rewel terutama dengan bisnis non-stasioner ini, karena fundamental tidak selalu puncak tertinggi. Sangat cepat, Anda menemukan diri Anda mencoba untuk memastikan yang mana dari banyak puncak adalah yang mendasar, dan itu menjadi masalah yang sulit.
Autokorelasi: Metode autokorelasi tampaknya lebih baik daripada metode FFT, tetapi masih sensitif terhadap penyimpangan amplitudo sinyal waktu-domain. Metode auto-korelasi mengukur jarak antara lobus tengah, ke lobus tertinggi berikutnya. Jarak itu sesuai dengan yang mendasar. Namun dalam kasus non-stasioner, lobus sekunder ini bisa terlalu rendah, dan Anda mungkin melewatkannya di beberapa skema ambang batas.
Kemudian terpikir oleh saya bahwa mungkin saya bisa menggunakan metode ruang bagian seperti MUSIK untuk memperkirakan fundamental. Setelah menguji ini, saya menemukan bahwa itu benar-benar memberikan beberapa hasil yang sangat bagus - itu memuncak - kuat - dan bahkan dalam kasus-kasus non-stasioner - pada frekuensi yang sesuai dengan dasar sinyal Anda. (Tetapkan jumlah sinyal yang Anda cari ke 2, dan itu akan mengambil fundamental - yaitu, pilih 2 vektor eigen tertinggi (sesuai dengan nilai tertinggi nilai eigen) dari matriks kovarians sinyal, buang, dan bangun subruang kebisingan dari yang tersisa, proyeksikan hipotesis Anda sinusoid kompleks terhadap mereka, ambil timbal balik, dan voila, spektrum pseudo-bagus).
Pertanyaan & masalah:
- Meski begitu, saya masih ingin memahami mengapa ini bekerja lebih baik.
- Dalam MUSIK kita membuang subruang sinyal dan menggunakan subruang kebisingan. Tampaknya bagi saya bahwa vektor eigen dari ruang bagian sinyal sebenarnya adalah semacam 'paling cocok' - mereka sebenarnya adalah filter yang cocok secara optimal. Jadi: Mengapa tidak menggunakan sinyal vektor ruang bagian sinyal langsung? (Saya tahu ini bukan MUSIK lagi tapi mengapa menggunakan subruang kebisingan lebih baik?)
- Terakhir, masalah terakhir adalah meskipun metode ini tampaknya bekerja jauh lebih kuat untuk sinyal non-stasioner (seperti yang didefinisikan di atas), masalahnya adalah bahwa sekarang saya SELALU mendapatkan jawaban - bahkan ketika tidak ada apa pun selain suara dalam sistem! (Saya sebutkan di atas bahwa sinyal baku pra-pencocokan yang disaring dapat berupa white noise kadang-kadang, ketika Anda tidak memiliki sinyal berkala).
Cara apa yang mungkin ada untuk mengatasi ini? Saya telah mencoba melihat nilai eigen dan ada lebih banyak 'kelengkungan' dalam peluruhan mereka dalam kasus di mana hanya ada kasus noise VS di mana ada sinyal, tapi saya khawatir itu mungkin tidak cukup kuat.
Bonus:
- Kapan vektor eigen dari matriks kovarians sinusouds VS sesuatu yang lain? Apa yang menentukan apakah itu sinusoid atau tidak? Mengapa mereka tidak berbentuk gelombang persegi? Atau masukkan-bentuk-lain-di sini sinyal?
Jawaban:
Intuisi adalah bahwa matriks autokorelasi diperkirakan untuk beberapa set pengamatan terbatas dalam sinyal berperilaku asimtotik seperti matriks sirkulans karena korelasi hanya bergantung pada perbedaan waktu bukan posisi absolut dan matriks sirkulans memiliki sinusoid diskrit sebagai vektor eigen mereka (karena mereka konvolusi operator). Ada banyak bukti tentang ini dan ini adalah intuisi yang samar.
Himpunan fungsi autokorelasi yang didiagonalisasi oleh sinusoid adalah persis yang berhubungan dengan proses stasioner, tetapi banyak fungsi autokorelasi proses lainnya akan didiagonalisasi oleh sinusoid selama beberapa interval. Proses-proses ini sesuai dengan proses yang dapat diperkirakan dengan proses diam selama suatu interval. Lebih detail ada di sini .
Proses non-stasioner umum dapat memiliki fungsi autokorelasi yang tidak perlu didiagonalisasi oleh sinusoid.
Proses yang diam secara lokal akan memiliki spektrum yang berubah perlahan dan / atau sejumlah kecil perubahan mendadak yang ditempatkan dengan baik dalam spektrum. Pidato, suara binatang, musik, dan banyak suara alami lainnya sesuai dengan deskripsi ini. Alasan mengapa algoritma identifikasi ruang bagian bekerja, seperti yang saya mengerti, adalah bahwa beberapa bentuk stationarity lokal (tidak ketat) umumnya berlaku untuk jenis sinyal yang kami analisis.
sumber