Saya cukup baru untuk DSP, dan telah melakukan beberapa penelitian tentang kemungkinan filter untuk menghaluskan data accelerometer dengan python. Contoh tipe data yang akan saya alami dapat dilihat pada gambar berikut:
Pada dasarnya, saya mencari saran untuk memuluskan data ini untuk akhirnya mengubahnya menjadi kecepatan dan perpindahan. Saya mengerti bahwa akselerometer dari ponsel sangat bising.
Saya tidak berpikir saya dapat menggunakan filter Kalman saat ini karena saya tidak bisa mendapatkan perangkat untuk referensi kebisingan yang dihasilkan oleh data (saya membaca bahwa penting untuk menempatkan perangkat datar dan menemukan jumlah suara dari pembacaan itu?)
FFT telah menghasilkan beberapa hasil menarik. Salah satu upaya saya adalah untuk FFT sinyal akselerasi, kemudian membuat frekuensi rendah untuk memiliki nilai FFT absolut dari 0. Kemudian saya menggunakan aritmatika omega dan invers FFT untuk mendapatkan plot kecepatan. Hasilnya adalah sebagai berikut:
Apakah ini cara yang baik untuk melakukan sesuatu? Saya mencoba untuk menghilangkan sifat bising keseluruhan sinyal tetapi puncak yang jelas seperti sekitar 80 detik perlu diidentifikasi.
Saya juga lelah menggunakan low pass filter pada data accelerometer asli, yang telah melakukan pekerjaan yang sangat baik untuk melicinkannya, tetapi saya tidak begitu yakin ke mana harus pergi dari sini. Bimbingan tentang ke mana harus pergi dari sini akan sangat membantu!
EDIT: Sedikit kode:
for i in range(len(fz)):
testing = (abs(Sz[i]))/Nz
if fz[i] < 0.05:
Sz[i]=0
Velfreq = []
Velfreqa = array(Velfreq)
Velfreqa = Sz/(2*pi*fz*1j)
Veltimed = ifft(Velfreqa)
real = Veltimed.real
Jadi pada dasarnya, saya telah melakukan FFT pada data accelerometer saya, memberikan Sz, menyaring frekuensi tinggi menggunakan filter dinding bata sederhana (saya tahu itu tidak ideal). Kemudian ive gunakan omega aritmatika pada FFT data. Juga terima kasih banyak kepada ahli data untuk menambahkan gambar saya ke dalam posting saya :)
fz
array, tampaknya Anda menerapkan filter jalan pintas.