Sunday 6 August 2017

Moving Average Filter Accelerometer


Sebuah filter tunggal sederhana, single pole, low pass, recursive IIR cepat dan mudah diterapkan, e g. where x, y adalah sinyal accelerometer XY yang tidak disaring, xf, yf adalah sinyal keluaran yang disaring, dan k menentukan konstanta waktu dari Saringan biasanya bernilai antara 0 9 dan 0 9999 di mana k yang lebih besar berarti konstanta waktu yang lebih lama. Anda dapat menentukan secara empiris, atau jika Anda mengetahui frekuensi cut-off yang diperlukan, Fc maka Anda dapat menggunakan rumusnya. Mana Fs adalah Sample rate. Perhatikan bahwa xf, yf adalah nilai sinyal output sebelumnya pada RHS, dan nilai keluaran baru pada LHS dari ungkapan di atas. Perhatikan juga bahwa kita mengasumsikan di sini bahwa Anda akan mengambil sampel sinyal accelerometer secara reguler. Interval waktu, misalnya setiap 10 ms Konstanta waktu akan menjadi fungsi kedua k dan interval sampling ini. Saya memiliki satu sinyal accelerometer 1D satu sumbu saja. Saya ingin membuat algoritma yang kuat, yang dapat mengenali beberapa bentuk pada Sinyal. Pada awalnya saya menerapkan filenya rata-rata bergerak R ke sinyal mentah Pada gambar terlampir, sinyal mentah berwarna merah dan sinyal rata-rata berwarna hitam. Seperti yang terlihat dari gambar, beberapa tren terlihat dari sinyal hitam rata-rata - sinyal tersebut berisi 10 pengulangan pola seperti puncak, di mana akselerasi Naik ke maksimum dan kemudian turun kembali saya telah menandai awal dan akhir dari pola itu dengan sebuah salib. Jadi tujuan saya adalah untuk menemukan posisi yang ditandai secara otomatis Masalah yang membuat ekstraksi pola sulit adalah. Awal pola bisa memiliki Nilai y yang berbeda dari pada akhir pola. Pola ini bisa memiliki lebih dari satu puncak. Saya tidak memiliki informasi waktu konkrit dari awal sampai akhir pola yang dibutuhkan Sebuah unit waktu. Saya telah mencoba pendekatan yang berbeda, yang cantik Banyak rumah makan, jadi saya tidak akan menyebutkannya - saya tidak ingin Anda bias oleh cara berpikir saya Apakah ada standar atau pendekatan buku untuk melakukan ekstraksi pola semacam itu Atau mungkin ada yang tahu bagaimana cara Mengatasi masalah dengan cara yang kuat. Ide apa pun akan dihargai. Jawablah 3 Des pada 0 04.Keep it simple Tampaknya rata-rata bergerak adalah perangkat peredam yang cukup baik, tetap mempertahankannya, mungkin hanya meningkatkan atau mengurangi jumlah sampelnya. Jika Anda memperhatikan bahwa itu menyisakan terlalu banyak kebisingan atau menghilangkan terlalu banyak sinyal. Anda kemudian bekerja dari sinyal rata-rata ini secara eksklusif. Penanda pola yang Anda cari tampaknya relatif mudah terdeteksi Dinyatakan dalam bahasa Inggris, spidol ini adalah sasaran titik-titik infleksi di Kurva pembacaan rata-rata, ketika kemiringannya sangat negatif terhadap positif Anda harus dapat mendeteksi situasi ini dengan membandingkan nilai kemiringan, dihitung bersamaan dengan rata-rata pergerakan karena setiap nilai bacaan baru tersedia tentu saja dengan penundaan singkat, seperti pada Tentu saja kemiringan pada titik tertentu hanya dapat dihitung saat pembacaan rata-rata untuk beberapa titik berikutnya tersedia. Untuk menghindari deteksi salah, Anda perlu mendefinisikan beberapa parameter aime. D pada penyaringan pola yang tidak diinginkan Paremeter ini akan mendefinisikan secara lebih tepat makna yang nyata pada definisi target di atas. Secara konsekuen, formula untuk mendeteksi suatu kepentingan dapat sesederhana ini. S S t-1 S t MindeltaSlope dimana S adalah Kemiringan lebih pada hal ini pada waktu t-1 dan t, masing-masing MindeltaSlope adalah parameter yang menentukan seberapa tajam sebuah perubahan pada kemiringan yang kita inginkan minimal. Dengan mengasumsikan unit t dan Y yang dinormalisasi, kita dapat mengatur parameter MindeltaSlope mendekati atau bahkan melewati 1 Secara intuitif sebuah Nilai 1 lagi di unit normal akan menunjukkan bahwa kita menargetkan titik di mana melengkung tiba dengan kemiringan ke bawah katakan 50 dan meninggalkan titik dengan kemiringan ke atas 50 atau 40 60 atau 10 yaitu hampir rata dan 90 yaitu hampir vertikal Untuk menghindari pendeteksian Poin dalam kasus saat ini hanya merupakan penurunan kecil pada kurva, kita dapat mempertimbangkan lebih banyak poin, dengan formula yang lebih bagus seperti katakan. Pm2 S t-2 Pm1 S t-1 P0 S t Pp1 S t 1 MindeltaSlope dimana Pm2, Pm1, P0 dan Pp1 adalah koefisien yang memberi kepentingan relatif terhadap kemiringan pada berbagai titik sebelum dan sesudah titik kepentingan Pm2 dan Pm1 biasanya nilai negatif Kecuali jika kita hanya menggunakan parameter positif dan menggunakan tanda-tanda negatif pada rumus S t - n adalah kemiringan beberapa kali dan MindeltaSlope adalah parameter yang menentukan seberapa tajam perubahan kemiringan yang kita inginkan secara intuitif, rumus 4 poin ini akan memperhitungkan Bentuk kurva pada satu titik dua bacaan sebelumnya dan dua membaca melewati titik kepentingan di samping mempertimbangkan titik yang tepat sebelum dan sesudahnya Mengingat nilai parameter yang tepat, rumus akan mengharuskan kurva tersebut terus turun untuk Dua irisan waktu, kemudian terus naik untuk dua irisan waktu berikutnya, maka hindari untuk menandai penurunan yang lebih kecil pada kurva. Cara alternatif untuk mencapai hal ini, mungkin untuk menghitung kemiringan dengan menggunakan perbedaan nilai Y antara rata-rata Ed membaca dari dua atau lebih irisan waktu yang lalu dan dari pembacaan rata-rata saat ini Kedua pendekatan ini serupa namun akan menghasilkan hasil yang sedikit berbeda umumnya kita harus mengatakan lebih banyak tentang bentuk kurva yang diinginkan dengan parameter Pm2, Pm1, P0 dan P1 . Terjawab Dec 3 10 at 3 22.Accelerometer mengukur akselerasi Percepatan karena pergerakan dan juga akselerasi akibat gravitasi Accelerometer sering digunakan untuk menghitung sudut kemiringan Mereka hanya bisa melakukan ini dengan andal saat mereka statis dan tidak bergerak Untuk mendapatkan yang akurat. Sudut kemiringan mereka sering digabungkan dengan satu atau lebih gyro s dan kombinasi data digunakan untuk menghitung sudut. Accelerometer aluminium akan memberi Anda informasi menggunakan protokol serial seperti I2C SPI atau USART, sementara akselerometer analog akan menghasilkan level tegangan di dalam Kisaran yang telah ditentukan bahwa Anda harus mengkonversi ke nilai digital menggunakan modul analog analog ke digital converter. Dalam tutorial ini, kami akan menjelaskan secara singkat fungsionalitas dari asce Lerometer, bagaimana mereka digunakan untuk mengukur sudut kemiringan dan akhirnya memberikan beberapa contoh kode Juga lihat tutorial tentang menggabungkan data accelerometer dan gyro untuk memberi sudut kemiringan yang lebih baik untuk sistem yang dinamis. Apa yang mengukur akselerometer. Akselerometer mengukur percepatan Untuk benda statis Itu adalah percepatan karena gravitasi 1g Perhatikan juga, bahwa keluaran dari akselerometer tidak linier tapi merupakan sinewave, jadi Anda tidak dapat mengambil output langsung sebagai representasi proporsional dari sudut kemiringan berdasarkan gravitasi. Biasanya, akselerometer sx dan y Tegangan output akan menjadi setengah dari tegangan suplai saat mengukur nol gie perangkat tegak lurus terhadap gravitasi - horizontal Miringkan satu arah dan voltase akan meningkat, miringkan ke arah lain dan akan menurun Dengan akselerometer sumbu tiga sumbu z akan diukur. 1g dengan perangkat horisontal Output dari accelerometer adalah sinewave akselerasi yang diukur Accelerometers lebih sensitif terhadap perubahan kecil pada kemiringan. Ketika mereka tegak lurus terhadap gravitasi I ketika horisontal, perubahan kecil pada kemiringan memberikan pembacaan yang berguna Selama sekitar 45 derajat kemiringan, mereka menjadi semakin kurang sensitif. Karena alasan inilah, biasanya menggunakan lebih dari satu nilai sumbu saat menentukan sudut kemiringan seperti yang akan Lihat di bawah. Angkat Sudut Tilt menggunakan Satu Axis. Jika Anda ingin mengukur kemiringan pada sumbu x dan y dengan akselerometer 2 sumbu, Anda bisa menggunakan sin-1 a dimana a adalah keluaran dari satu sumbu akselerometer. Ingat bahwa di luar 45 dan -45 derajat keakuratannya akan berkurang. Sudut Tilt yang Memakai Menggunakan Dua Axis. Pengurangan resolusi dan ketepatan di luar 45 derajat kemiringan dapat diperbaiki dengan menggunakan 2 sumbu untuk mengukur kemiringan Komponen gravitasi yang bekerja pada x Sumbu adalah fungsi sinus sementara yang bekerja pada sumbu y adalah kosinus Bila sensitivitas sumbu x mulai turun setelah 45 derajat kemiringan, kepekaan sumbu y semakin meningkat Seperti dapat dilihat pada grafik di bawah ini, tebal par Masing-masing garis menunjukkan daerah yang paling sensitif. Dengan menggabungkan nilai x dan y, akurasi yang jauh lebih baik dapat diperoleh. Sudut dihitung dengan menggunakan rumus. Sudut Tilt Memungkinkan menggunakan Tiga Sumbu. Untuk pengukuran kemiringan yang akurat pada x Dan karena itu, kita memerlukan sebuah accelerometer 3 sumbu. Kita bisa menggunakan rumus di atas untuk menghitung sudut dengan menggunakan x dan z untuk sumbu x dan menggunakan y dan z untuk sumbu y. Namun, kita dapat memperbaiki keadaan lebih jauh dengan menggunakan ketiga keluaran yang akan dihitung. Setiap sudut Hal ini dilakukan dengan menggunakan rumus berikut. Mari kita turun ke beberapa Coding. Mudah-mudahan, sekarang kita cukup jelas tentang prinsip-prinsipnya, tapi mari kita lihat bagaimana hal ini dilakukan dalam praktik. Kita akan menggunakan akselerometer 3 sumbu dan mengerjakan sudut untuk roll X dan pitch y. Kami akan berasumsi bahwa tergantung pada jenis accelerometer yang digunakan, Anda telah membaca nilai untuk x, y dan z dan Anda juga memiliki nilai awal untuk x, y dan z ketika akselerometer bersifat stasioner dan level. void calcxyangles Void Menggunakan xy dan Z dari accelerometer, hitung x dan y angles float xval, yval, zval, hasilnya unsigned short long x2, y2, z2 24 bit. Mari kita mendapatkan deviasi dari dasar kita xval float accelvaluex-float accelcenterx yval float accelvaluey-float accelcentery zval float accelvaluez-float accelcenterz. Bekerja di luar kuadrat x2 unsigned xval xval yval pendek y2 unsigned short yval panjang yval z2 unsigned zval zval pendek panjang. Hasil sumbu X hasil sqrt y2 z2 hasil xval hasil accan dan atan hasilnya. Hasil Sumbu Y hasil sqrt x2 z2 hasil yval hasil accadeley atan result. Ok, itu hanya beberapa catatan tentang accelerometers secara umum. Mereka sangat sensitif dan karena itu cukup rentan terhadap getaran Jika Anda menggunakan satu di sistem dengan motor atau sumber lainnya. Getaran saya sangat menyarankan beberapa bentuk redaman busa Juga, ambil beberapa bacaan dari accelerometer dan rata-rata mereka untuk menyaring suara apapun.

No comments:

Post a Comment