ฉันค่อนข้างใหม่สำหรับ DSP และได้ทำการวิจัยบางอย่างเกี่ยวกับตัวกรองที่เป็นไปได้สำหรับการทำให้ข้อมูล accelerometer ใน python ราบรื่นขึ้น ตัวอย่างประเภทของข้อมูลที่ป่วยจะเห็นได้ในภาพต่อไปนี้:
โดยพื้นฐานแล้วฉันกำลังมองหาคำแนะนำในการทำให้ข้อมูลนี้ราบรื่นในที่สุดเพื่อแปลงเป็นความเร็วและการกระจัด ฉันเข้าใจว่า accelerometers จากโทรศัพท์มือถือมีเสียงดังมาก
ฉันไม่คิดว่าฉันสามารถใช้ตัวกรองคาลมานได้ในขณะนี้เพราะฉันไม่สามารถถืออุปกรณ์เพื่ออ้างอิงเสียงที่เกิดจากข้อมูลได้ (ฉันอ่านว่าจำเป็นที่จะต้องวางอุปกรณ์ให้แบนและหาเสียงจากการอ่านเหล่านั้นหรือไม่)
FFT ให้ผลลัพธ์ที่น่าสนใจ หนึ่งในความพยายามของฉันคือ FFT สัญญาณการเร่งความเร็วจากนั้นแสดงความถี่ต่ำให้มีค่า FFT สัมบูรณ์เป็น 0 จากนั้นฉันใช้เลขคณิตโอเมก้าและผกผัน FFT เพื่อให้ได้พล็อตเรื่องความเร็ว ผลการวิจัยพบว่า
นี่เป็นวิธีที่ดีในการไปต่าง ๆ หรือไม่? ฉันกำลังพยายามลบลักษณะโดยรวมของสัญญาณรบกวน แต่ต้องมีการระบุจุดสูงสุดอย่างชัดเจนเช่นประมาณ 80 วินาที
ฉันยังเหนื่อยกับการใช้ low pass filter กับข้อมูล accelerometer ดั้งเดิมซึ่งทำได้ดีมากในการทำให้เรียบ แต่ฉันไม่แน่ใจว่าจะไปจากที่นี่ได้อย่างไร คำแนะนำเกี่ยวกับสถานที่ที่จะไปจากที่นี่จะเป็นประโยชน์จริง ๆ !
แก้ไข: รหัสเล็กน้อย:
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
ดังนั้นโดยพื้นฐานแล้ว ive ดำเนินการ FFT กับข้อมูลมาตรวัดความเร่งของฉันโดยให้ Sz กรองความถี่สูงโดยใช้ตัวกรองกำแพงอิฐแบบง่าย (ฉันรู้ว่ามันไม่เหมาะ) จากนั้นให้ใช้ omega เลขคณิตกับ FFT ของข้อมูล ขอบคุณมากสำหรับนักดาต้าสำหรับการเพิ่มภาพของฉันในโพสต์ของฉัน :)
fz
อาร์เรย์ แต่ดูเหมือนว่าคุณกำลังใช้ตัวกรอง highpass แทน