Adaptive Filtering for Digital Signals on 32bit 400Mhz Processor

  • Thread starter dduardo
  • Start date
In summary: I don't need it to be precise to the millimeter.The filter I'm considering is a LMS filter. It is O(n) but it doesn't converge as quickly as a kalman filter.
  • #1
dduardo
Staff Emeritus
1,905
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
  • #2
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?
 
  • #3
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:
  • #4
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).
 
  • #5
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:

1. What is adaptive filtering for digital signals?

Adaptive filtering is a signal processing technique that involves modifying a system's parameters in real-time to achieve a desired output. In the context of digital signals on a 32bit 400Mhz processor, it refers to adjusting the parameters of a digital filter to remove noise, interference, or other unwanted components from a signal in order to improve its quality.

2. How does adaptive filtering work on a 32bit 400Mhz processor?

The adaptive filtering algorithm on a 32bit 400Mhz processor involves continuously measuring the input signal and adjusting the filter parameters based on the desired output and a chosen optimization criterion. This process is repeated in real-time to achieve the best possible filtering results.

3. What are the benefits of using adaptive filtering on a 32bit 400Mhz processor?

Adaptive filtering on a 32bit 400Mhz processor allows for real-time processing of digital signals, making it useful in applications where immediate response is required. It also helps improve the quality of signals by removing unwanted components, leading to better accuracy and reliability of the processed data.

4. What types of digital signals can benefit from adaptive filtering on a 32bit 400Mhz processor?

Adaptive filtering can be applied to a wide range of digital signals, including audio and video signals, biomedical signals, communication signals, and more. Any signal that contains noise or interference can potentially benefit from adaptive filtering on a 32bit 400Mhz processor.

5. Are there any limitations to using adaptive filtering on a 32bit 400Mhz processor?

One limitation of using adaptive filtering on a 32bit 400Mhz processor is the processing speed and memory constraints of the processor, which may limit the complexity and accuracy of the filter. Additionally, the effectiveness of adaptive filtering may also depend on the specific characteristics and variability of the input signal.

Similar threads

  • Electrical Engineering
Replies
1
Views
860
  • Electrical Engineering
Replies
3
Views
1K
Replies
1
Views
3K
  • Engineering and Comp Sci Homework Help
Replies
2
Views
839
Replies
9
Views
1K
Replies
2
Views
2K
  • Electrical Engineering
Replies
2
Views
2K
  • Electrical Engineering
Replies
11
Views
2K
  • Electrical Engineering
Replies
2
Views
3K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
741
Back
Top