element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Members
    Members
    • Benefits of Membership
    • Achievement Levels
    • Members Area
    • Personal Blogs
    • Feedback and Support
    • What's New on element14
  • Learn
    Learn
    • Learning Center
    • eBooks
    • STEM Academy
    • Webinars, Training and Events
    • More
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • More
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • More
  • Products
    Products
    • Arduino
    • Dev Tools
    • Manufacturers
    • Raspberry Pi
    • RoadTests & Reviews
    • Avnet Boards Community
    • More
  • Store
    Store
    • Visit Your Store
    • Choose Another Store
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
Sudden Impact Wearables Design Challenge
  • Challenges & Projects
  • Design Challenges
  • Sudden Impact Wearables Design Challenge
  • More
  • Cancel
Sudden Impact Wearables Design Challenge
Blog [real_time_monitor] Real Time Player Monitoring System Post#8 : Impact Detection Algorithm with ADXL375
  • Blog
  • Forum
  • Documents
  • Events
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Blog Post Actions
  • Subscribe by email
  • More
  • Cancel
  • Share
  • Subscribe by email
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: ravi_butani
  • Date Created: 1 Apr 2015 6:15 AM Date Created
  • Views 146 views
  • Likes 0 likes
  • Comments 2 comments
  • analog_devices_inc
  • tektronix
  • sudden_impact
  • real_time_monitor
  • adt7320
  • cc3200_launchpad
  • adxl375
  • electrolube
Related
Recommended

[real_time_monitor] Real Time Player Monitoring System Post#8 : Impact Detection Algorithm with ADXL375

ravi_butani
ravi_butani
1 Apr 2015

<< Previous Post

Table of Contents

Next Post >>

 

In my Previous post…, I have shared my Initial Android application that supports Realtime graphs of Accelerometer data..

In this post I am sharing Full Proof Impact detection and remote update algorithm..

 

Here is detailed algorithm..



 

Step 1 - Sample rate for Raw accelerometer data reading is currently 1000 Samples/second and it can be increased as per requirement up to Maximum ADXL375 Update rate (3200 Samples/second) as per device datasheet.

 

Step 2 - Raw Samples of XYZ axis are directly stored in SD card for detailed future analysis..

 

Step 3 - Raw samples of XYZ axis are passed through Three separate Low pass Filtering FIFO for each axis, Which simply calculates running average of FIFO content..

Cutoff frequency can be adjusted simply by varying length of this FIFO (Increase FIFO Length decrease cut off frequency and viceversa..) Currently FIFO length is 5 and can be changed as per need..

Actually Low pass filtering is Identical as Integration so Impact energy is roughly represented by this ..

 

Step 4 - Low pass filtered output contains positive as well as negative results based upon impact direction...so it is converted in to absolute value for just consider impact energy, not direction of impact.

 

Step 5 - Maximum Absolute Value form LPF output of X, Y,Z is calculated, then this Value of Impact energy is send to MAX_FIFO which simply Holds incoming maximum absolute value from LPF_FIFO... Purpose of This MAX_FIFO is interesting...



Lets...Take example... Suppose Sample rate for Accelerometer reading is 1KSPS..So LPF output rate is also 1KSPS...when the impact occurs with large energy, only few samples of LPF FIFO contains this information (based on duration of Impact).. My ultimate application will work for entire team so say 11 players are being monitored using single application running on Cell Phone/PC and I am using UDP protocol for remote communication between Sensor and Application..Now if all 11 players sends packet with 1KSPS rate there may be possibility of packet-loss due to data collision even though using random timing in each sensor for remote update.. If key packet which contains information of Impact is lost then there is no way I can say my system is reliable and real time. So here MAX_FIFO plays major role..

 

As MAX_FIFO finds Maximum of Absolute values of impact energy... If size of MAX_FIFO is 100 then any maximum value stays in Output of MAX_FIFO for 100 sample interval..also if other impact with more energy is occur then output of MAX_FIFO updated directly and it is remain for another 100 samples interval..

so if some packet lost then upcoming packets gives impact information..

 

if sensor sends packet to remote application after each 10 sample interval (Tap interval) then with MAX_FIFO of length of 100 element gives guarantee that actual impact reflected in next 10 packets.. So I can reduce remote update rate to reduce battery usage because during wireless transmission with CC3200 power consumption is maximum..(max 278mA as per CC3200 DataSheet)

 

here MAX_FIFO serves two purpose..

1st : Reliability, because it holds maximum value for several sample interval (based on MAX_FIFO Length)

2nd: Low remote update rate (ultimately low battery usage)

 

The algorithm is fully configurable, desired functionality can be achieved by changing sample rate ,length of two FIFO and Tap interval ..

 

I will share this algorithm in action in my next post..

 

Your suggestions and comments are invited..


Thanks..

Ravi

Anonymous
Parents
  • xever
    xever over 7 years ago

    hi ravi,

     

    just a thought, whether taking the magnitude of the accelerometer reading be more efficient in detecting impact, then applying a filter, perhaps an IIR or an FIR over running average?  then only transmit the message when an impact is detected?  again just a thought...

     

    regards,

     

    christever

    • Cancel
    • Vote Up 0 Vote Down
    • Reply
    • More
    • Cancel
  • ravi_butani
    ravi_butani over 7 years ago in reply to xever

    You are right but... In my project , threshold level of impact is user configurable and it can be change run time in GUI Application.. So I need to transmit all data to GUI Application and GUI going to decide and create audio visual alert it is severe impact or not based on comparison with threshold..

    • Cancel
    • Vote Up 0 Vote Down
    • Reply
    • More
    • Cancel
Comment
  • ravi_butani
    ravi_butani over 7 years ago in reply to xever

    You are right but... In my project , threshold level of impact is user configurable and it can be change run time in GUI Application.. So I need to transmit all data to GUI Application and GUI going to decide and create audio visual alert it is severe impact or not based on comparison with threshold..

    • Cancel
    • Vote Up 0 Vote Down
    • Reply
    • More
    • Cancel
Children
No Data
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2022 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • Facebook
  • Twitter
  • linkedin
  • YouTube