2011-11-04 7 views
3

J'ai un peu de question étrange que j'espère que quelqu'un ici peut m'aider. CONTEXTE: J'essaye de concevoir un système qui prendra des données en temps continu d'un système d'antenne/préampli VLF qui prendra ces données, fera une analyse de FFT sur lui (grandeur en fonction du temps) et tracera le résultat Données FFT en tant que spectrogramme en temps réel. Le projet est ce qu'on appelle un "renifleur de bourdonnement" mais spécifiquement pour voir l'interférence de signal dans la gamme 15 - 35 kHz. J'ai acheté quelques livres «apprends-toi java» et je suis en train de les lire. Je suis un étudiant en ingénierie avec une expérience limitée en programmation à Ansi-C et Matlab.FFT traçage en temps réel

QUESTION: Il existe plusieurs applications sur le marché Android qui exécuteront une fonction similaire en utilisant le microphone comme source d'entrée et je les ai toutes achetées juste pour voir comment elles fonctionnent. J'ai également acheté un Arduino Uno avec le bouclier d'hôte USB de Sparkfun ainsi qu'une carte IOIO de Sparkfun. J'espère vraiment que je peux utiliser une combinaison de ces cartes que j'ai achetées en conjonction avec le système d'antenne/préampli susmentionné pour tracer ces spectrogrammes en temps réel dans un programme Android que je n'ai pas encore créé.

Je ne suis pas à la recherche de quelqu'un pour me servir de ce processus, mais si quelqu'un a une expérience avec quelque chose de similaire, j'apprécierais toute idée. Ma principale préoccupation à ce stade est de savoir si j'ai besoin de concevoir le système externe pour faire la conversion A/D avant de nourrir ces données dans le téléphone ou si je pourrais être en mesure d'envoyer les données de signal CT directement dans Android et faire le téléphone la conversion A/N et les courbes FFT. Oh, et si je peux utiliser le port USB pour envoyer des données dans le téléphone. J'utilise mon Nexus S 4G pour tous les tests/applications.

Merci d'avance pour toute contribution.

Répondre

0

Avez-vous essayé de connecter votre audio sur le téléphone headset microphone connection et en utilisant une application d'enregistrement sonore? Ensuite, vous devriez obtenir un fichier que vous pouvez lire dans Matlab et jouer avec pour avoir une idée des capacités de l'entrée audio sur le téléphone.

Si l'entrée audio est suffisante, écrire une application pour effectuer une FFT en temps réel et tracer ne devrait pas être trop compliqué. De cette façon, vous éviterez de traiter avec Arduino et le support des accessoires USB Android.

+0

J'ai jeté un rapide coup d'oeil autour de vous et il semblerait que votre Arduino [luttait] (http://electronics.stackexchange.com/questions/758/maximum-sample-rate-of-arduino-duemilanove) pour atteindre le> 70 ksample/s dont vous avez besoin –

+1

C'est une idée intéressante! Les fréquences que je regarde sont bien au-delà de la gamme audible donc je ne sais pas si le téléphone serait capable d'interpréter les signaux directement, mais je me demande si je pourrais mettre en place une sorte d'opération de décalage dans mon système externe. Il va certainement falloir se pencher là-dessus. Si quelqu'un a de l'expérience en utilisant le micro USB pour entrer des données dans un téléphone Android, je suis toujours intéressé par la façon dont cela pourrait fonctionner si la prise casque ne fonctionne pas. Merci! – thewhistler

0

Le matériel IOIO est capable de 500ksps. Ceci est actuellement limité dans le firmware à 1ksps par canal afin de limiter la bande passante USB utilisée. Cependant, il est très facile de changer (un seul numéro, et une reconstruction du firmware) au cas où vous savez ce que vous faites et ne débordera pas le canal USB. Un seul échantillon sur un seul canal sera un message 3B. À 40 kHz, cela correspondrait à 120 Ko/s, ce qui correspond à la bande passante effective atteinte par l'ADB (le maximum est d'environ 300 Ko/s). Si vous avez besoin d'aide pour reconstruire le firmware, la liste ioio-users est votre ami.