Java-Gaming.org    
Featured games (79)
games approved by the League of Dukes
Games in Showcase (476)
Games in Android Showcase (106)
games submitted by our members
Games in WIP (533)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Accelerometer with Sound  (Read 1960 times)
0 Members and 1 Guest are viewing this topic.
Offline Ranger
« Posted 2009-07-28 06:30:57 »

If you play a sound on the HTC G1 or Magic via the speaker, the vibrations caused by the speaker makes the accelerometer go crazy.  The louder the sound, the worse the effect.

It is discussed here https://groups.google.com/group/android-developers/browse_thread/thread/324a61badc59d58f with no solution.

Someone tried to do some damper code using averaging here https://groups.google.com/group/android-developers/browse_thread/thread/5b4ce338d4c57669/c405d018e26683ab#c405d018e26683ab, however, I tried it out and it reduced the effect, but it was still horrible.

I was thinking maybe there was a better algorithm (not just taking the average) for filtering out the crazy values caused by the sound?  Any ideas would be greatly appreciated.

It's a little annoying, as it really is a hardware problem (accelerometers are not properly shielded from the speaker), however, a software fix would be great.

Cheers.
Offline ryanm

Senior Member


Projects: 1
Exp: 15 years


Used to be bleb


« Reply #1 - Posted 2009-07-28 11:07:11 »

I suspect that this is going to be distinctly non-trivial. Filtering out high-frequency noise to get the low-frequency signal is tricky, and can make the output feel a bit laggy. Look here and here for some things to try.

One potentially crutch that you have is that you know, or can find out, the frequency and amplitude of the noise signal. It probably won't just be the frequency that the speaker is playing, as the vibrations picked up by the accelerometer will depend on the design of the phone. You could try playing a range of different frequencies on through the speaker, analyse the resulting accelerometer signal, and try and compute some relationship between speaker signal and accelerometer output. With this knowledge, you have a much better idea of the characteristics of the unwanted accelerometer noise and thus a better chance at filtering it.
However, this is a lot of work and probably not practical for the dalvik VM to be bothering with at runtime.
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

pw (22 views)
2014-07-24 01:59:36

Riven (20 views)
2014-07-23 21:16:32

Riven (17 views)
2014-07-23 21:07:15

Riven (20 views)
2014-07-23 20:56:16

ctomni231 (48 views)
2014-07-18 06:55:21

Zero Volt (44 views)
2014-07-17 23:47:54

danieldean (35 views)
2014-07-17 23:41:23

MustardPeter (38 views)
2014-07-16 23:30:00

Cero (53 views)
2014-07-16 00:42:17

Riven (52 views)
2014-07-14 18:02:53
HotSpot Options
by dleskov
2014-07-08 03:59:08

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:58:24

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:47:22

How do I start Java Game Development?
by ra4king
2014-05-17 11:13:37

HotSpot Options
by Roquen
2014-05-15 09:59:54

HotSpot Options
by Roquen
2014-05-06 15:03:10

Escape Analysis
by Roquen
2014-04-29 22:16:43

Experimental Toys
by Roquen
2014-04-28 13:24:22
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!