Adaptive Filtering for Digital Signals on 32bit 400Mhz Processor

  • Thread starter Thread starter dduardo
  • Start date Start date
AI Thread Summary
The discussion centers on filtering noise from a digital signal obtained from a handheld accelerometer, aiming for near real-time processing on a 32-bit, 400MHz microprocessor without a floating point unit. The primary noise originates from vibrations due to the user's hand, with minimal electrical noise, and the accelerometer's bandwidth is specified at 3.3kHz for the x and y axes and 1.7kHz for the z axis, sampled at 32kHz. Suggestions include considering time-domain DSP algorithms instead of purely adaptive filters, focusing on estimating overall acceleration rather than achieving high precision. The user seeks a filtering method that allows for flexibility in adapting to movement patterns, emphasizing the need for a balance between noise reduction and responsiveness. The goal is to obtain a rough estimate of the device's orientation through effective signal processing techniques.
dduardo
Staff Emeritus
Science Advisor
Insights Author
Messages
1,902
Reaction score
3
I have a digital signal from an accelerometer and I would like to filter as much noise as quickly as possible. By quick I mean near real-time with some flexibility. The microprocessor I'm using is 32bit, 400Mhz, and does not have a floating point unit so all calculations must be done in either integer or fixed-point math. I've been looking at a LMS filter because it is O(n) but it doesn't converge as quickly as a kalman filter. I would like your opinions on what type of filter I should use.
 
Last edited:
Engineering news on Phys.org
What is the bandwidth of the valid signals from the accelerometer? What is the spectra of the noise (is it from vibration or something, or electrical noise too?)? What is your typical signal-to-noise ratio? Can you do any noise cancellation with a second pickup somehow?
 
The noise is primarily coming from the vibration of a person holding the accelerometer in their hand. The electrical noise is minimal. The bandwidth is 3.3kHz on the x and y-axis and 1.7kHz on the z axis. I can only have one accelerometer. I'm also sampling at 32kHz.

Basically I'm trying to track user movement.
 
Last edited:
Do you have an idea of how you want your filter polynomial to be able to adapt? Moving notches, changing passband, variable gain in multiple passbands? Do you have an idea of what you want your Performance Surface to look like? I don't know what your exact application is, and how it relates to the vibration noise, but it sounds to me more like you would want to figure out the best time domain DSP algorithms to give you the best guess at the overall acceleration, rather than architect it as an adaptive filter in the frequency domain.

For example, if it is a distance measuring device for runners, then your time domain processing would figure out the footfall bounce rhythm, and process the accelerometer signal accordingly to best-guess the net movement. Or if it is a device that sportbike riders would wear at the racetrack to record their acceleration, braking, and cornering forces, then the vibration from the engine would be the primary noise to be subtracted out, and having your program keep track of the apparent RPM would help it to discern engine vibration from overall bike movement...

BTW, I've only looked a little bit at adaptive filters (I've done more time-domain DSP work for the kind of thing you're talking about), but I found a pretty good book on it if you're interested in checking it out. "Adaptive Signal Processing" by Widrow and Stearns (from Stanford).
 
Yes, I am trying to find the best guess of the overall acceleration in each axis. What I was planning on doing was filtering the signal enough such that when I quantize it with a certain step I could get a rough estimate of the accelerations. My goal isn't exactness, I just need an estimate as to the orientation of the device.
 
Last edited:
I have recently moved into a new (rather ancient) house and had a few trips of my Residual Current breaker. I dug out my old Socket tester which tell me the three pins are correct. But then the Red warning light tells me my socket(s) fail the loop test. I never had this before but my last house had an overhead supply with no Earth from the company. The tester said "get this checked" and the man said the (high but not ridiculous) earth resistance was acceptable. I stuck a new copper earth...
Thread 'Electromagnet magnetic field issue'
Hi Guys We are a bunch a mechanical engineers trying to build a simple electromagnet. Our design is based on a very similar magnet. However, our version is about 10 times less magnetic and we are wondering why. Our coil has exactly same length, same number of layers and turns. What is possibly wrong? PIN and bracket are made of iron and are in electrical contact, exactly like the reference design. Any help will be appreciated. Thanks. edit: even same wire diameter and coil was wounded by a...
Thread 'Beauty of old electrical and measuring things, etc.'
Even as a kid, I saw beauty in old devices. That made me want to understand how they worked. I had lots of old things that I keep and now reviving. Old things need to work to see the beauty. Here's what I've done so far. Two views of the gadgets shelves and my small work space: Here's a close up look at the meters, gauges and other measuring things: This is what I think of as surface-mount electrical components and wiring. The components are very old and shows how...
Back
Top