Isi kandungan:

Penapisan FIR untuk Pengesanan Frekuensi yang Lebih Boleh dipercayai: 5 Langkah
Penapisan FIR untuk Pengesanan Frekuensi yang Lebih Boleh dipercayai: 5 Langkah

Video: Penapisan FIR untuk Pengesanan Frekuensi yang Lebih Boleh dipercayai: 5 Langkah

Video: Penapisan FIR untuk Pengesanan Frekuensi yang Lebih Boleh dipercayai: 5 Langkah
Video: 10 MAKANAN MERUSAK GINJAL DENGAN CEPAT ! | dr.Emasuperr 2024, Julai
Anonim
Penapisan FIR untuk Pengesanan Frekuensi yang Lebih Boleh dipercayai
Penapisan FIR untuk Pengesanan Frekuensi yang Lebih Boleh dipercayai

Saya peminat yang sangat hebat yang dapat dipelajari oleh akellyirl mengenai Pengesanan Frekuensi Boleh dipercayai Menggunakan Teknik DSP tetapi kadang kala teknik yang digunakannya tidak cukup baik jika anda mempunyai ukuran bising.

Salah satu penyelesaian yang mudah untuk mendapatkan input yang lebih baik untuk pengesan frekuensi adalah dengan menggunakan beberapa jenis penapis di sekitar frekuensi yang ingin anda kesan.

Malangnya, membuat penapis digital tidak banyak dan banyak matematik yang terlibat. Oleh itu, saya berfikir untuk membuat beberapa jenis program untuk mempermudah pembuatan penapis tersebut, untuk membolehkan sesiapa sahaja menggunakannya dalam projek mereka tanpa menggali butirannya.

Dalam Instructable ini, saya akan mengesan gelombang sinus 50Hz dalam pengukuran yang bising dengan Arduino Uno (Arduino sebenarnya tidak diperlukan).

Langkah 1: Masalahnya

Masalah
Masalah

Bayangkan data input yang diukur kelihatan seperti lengkung di atas - cukup bising.

Sekiranya kita membina alat pengesan frekuensi sederhana seperti yang ada di akellyirl's Instructable, hasilnya adalah "-inf" atau dalam kes kod di bawah: "Ya, terlalu banyak bunyi …"

Nota: Saya menggunakan hampir semua kod akellyirl tetapi menambahkan array RawData di bahagian atas yang mengandungi ukuran bising.

Di bawah ini anda dapat menemui keseluruhan kod dalam fail yang disebut "unfiltered.ino".

Langkah 2: Penyelesaiannya

Penyelesaian
Penyelesaian

Oleh kerana data input bising tetapi kita tahu frekuensi yang kita cari, kita dapat menggunakan alat yang saya buat yang disebut easyFIR untuk membuat filter Bandpass dan menerapkannya pada data input, yang menghasilkan input yang jauh lebih bersih untuk pengesan frekuensi (gambar di atas).

Langkah 3: EasyFIR

MudahFIR
MudahFIR

Alat easyFIR cukup mudah digunakan, cukup muat turun repositori GitHub dan jalankan fail easyFIR.py dengan satu contoh ukuran anda (dalam format CSV).

Sekiranya anda membuka fail easyFIR.py, anda akan menemui 5 parameter (lihat gambar di atas) yang boleh dan harus berubah bergantung pada hasil yang ingin anda capai. Selepas anda mengubah 5 parameter, dan melaksanakan fail python, anda akan melihat pekali yang dihitung di terminal anda. Pekali ini sangat penting untuk langkah seterusnya!

Maklumat lebih lanjut mengenai penggunaan yang tepat boleh didapati di sini:

Langkah 4: Menapis

Penapisan
Penapisan

Sekarang jika anda telah mengira pekali penapis yang diperlukan, cukup mudah menerapkan pemfail sebenar ke pengesan frekuensi.

Seperti yang anda lihat dalam gambar di atas, anda hanya perlu menambahkan pekali, fungsi menerapkanFilter dan kemudian menapis ukuran input.

Di bawah ini anda dapat menemui keseluruhan kod dalam fail yang disebut "filtered.ino".

Nota: terima kasih besar kepada Stack Overflow Post ini untuk algoritma aplikasi penapis yang hebat!

Langkah 5: Nikmati

Nikmati
Nikmati

Seperti yang anda lihat, sekarang kita dapat mengesan isyarat 50Hz walaupun dalam persekitaran yang bising?

Jangan ragu untuk menyesuaikan idea dan kod saya dengan keperluan anda. Saya akan sangat berterima kasih untuk memasukkan peningkatan anda!

Sekiranya anda menyukai karya saya, saya sangat menghargai jika anda menyokong karya saya dengan bintang di GitHub!

Terima kasih atas sokongan anda!:)

Disyorkan: