Connaissez-vous un bon et efficace de la FFT?
Je suis en train d'essayer de trouver une très efficace et rapide de Fourier (FFT). Personne ne sait de toute bonne. J'ai besoin de l'exécuter sur l'iPhone, il ne doit pas être intensive. Au lieu de cela, vous savez peut-être de celui qui est en ondelettes comme, j'ai besoin de résolution de fréquence, mais seulement une bande étroite (vocal audio allant jusqu'à 10 khz max...même 10Khz peut-être trop élevée). Im pensant aussi de tronquer ce la FFT à garder la résolution en fréquence tout en éliminant les indésirables bande de fréquence. C'est pour un iphone
...J'ai pris un coup d'oeil à la FFT en Aurio contact, mais il semble que ce soit un int FFT mais mon application utilise des flotteurs.....serait-il une grosse augmentation de la performance de l'essayer et adapter le programme à un int FFT ou pas(je n'ai vraiment pas envie de le faire...en plus aurio touch utilise la base 2 FFT qui n'est pas très bonne).
comment faire un Ondelettes comme la fft dans le sens de la au lieu d'avoir une matrice carrée(4096by4096 pour une FFT de 4096 échantillons) nous utilisons 4096 échantillons en temps par 1024 fréquence des poubelles...ce ne serait pas couvrir la totalité de la bande de nyquist et donc permettrait de maintenir la fréquence souhaitée résolution sans qu'il soit nécessaire de les calculer de tous....c'est de la multi-résolution à l'échelle aspect d'ondelettes, mais avec une seule échelle....si c'est comme j'ai été l'application d'un filtre....qui fait partie de WFT
OriginalL'auteur yan bellavance | 2009-10-20
Vous devez vous connecter pour publier un commentaire.
La performance de l'FFTW établit la norme pour la longueur arbitraire FFT - en particulier pour les non puissance de 2 longueurs de 2 et de plus grandes dimensions. La licence commerciale pour FFTW est de 5000$, qui peuvent ou peuvent ne pas convenir à votre budget.
Cependant, il semble que vous avez un 1D traitement du signal problème dans le cas où vous avez un peu plus d'options et si vous pouvez, soit le pad ou des échantillons de données en puissance de 2 longueurs, de nombreuses bibliothèques offrent des performances acceptables. Découvrez ce liste des algorithmes de FFT qui FFTW utilisé pour la comparaison, beaucoup sont gratuits et certains peuvent être suffisantes. Je serais probablement commencer avec la bonne vieille numérique recettes qui offre un facile puissance de 2, FFT 1D mise en œuvre pour gratuit et certains saisie et serait très efficace en terme de mémoire.
BTW - pour voix vous aurez probablement besoin d'aller à 3-4 khz....10Khz est là-haut pour le
la voix humaine.
merci, je vais regarder dans ces liens comme je suis toujours en puissance de 2 longueurs
OriginalL'auteur Paul
L'iPhone OS4 SDK comprendra le cadre d'Accélérer, qui vont (enfin) de nous donner des Apple écrite à la FFT fonctions
OriginalL'auteur alexbw
J'ai enveloppé Ooura de la FFT de la bibliothèque en Objective-C. Ooura du code de la performance comparable à FFTW, mais totalement et absolument gratuit.
Ce code utilise en double précision, et a intégré plusieurs types de fenêtres (rectangulaire, Blackwell, Triangle, Hamming). J'utilise Ooura la FFT code pour mettre en œuvre La méthode de Welch, ce qui va générer un beaucoup plus lisse spectres vu au fil du temps.
Check it out:
http://github.com/alexbw/iPhoneFFT
En effet, de l'excellent travail, Alex, extrait d'Octave et de Oscope à la fois. Je me demandais si il n'y a aucun iOS bibliothèques de partout avec succès enveloppements vDSP pour détecter les sons humains - maintenant, laissez-moi vous dire que je ne sais pas si c'moyens de détection de hauteur ou passe-bande ou quoi.
Qui lui-même est un peu une question de recherche ouvert en informatique (pour le faire de manière fiable). Si vous êtes intéressés par un certain son, enregistrer un tas d'exemples, et de regarder leur spectrogrammes. Qui devrait vous aider à construire un filtre, qui est capable de répondre de manière sélective.
OriginalL'auteur alexbw
Donner le plus Rapide de la transformée de Fourier dans l'Ouest (FFTW) un go, La performance est bonne par rapport à d'autres, mais il n'est pas complètement libre. Voir les détails sur l'utilisation commerciale ici. Évidemment, étant d'une bibliothèque c, vous devriez avoir aucun problème de liaison comme une bibliothèque statique pour votre application iphone.
Si vous n'avez pas l'esprit de la commercialisation de votre application sous GPLv2 (vous ne pouvez pas utiliser la GPLv3 pour une application iPhone), il est complètement gratuit. Si ce n'est pas compatible avec votre modèle d'affaires, vous aurez à vérifier les options commerciales.
OriginalL'auteur hhafez
Ici est une source primaire lien vers Ooura numérique d'un logiciel:
http://www.kurims.kyoto-u.ac.jp/~ooura/
J'ai été en utilisant beaucoup de Ooura de la Fft au fil des ans, je devrais lui envoyer un "domo", à tout le moins, et j'utilise son vrai radix-4 dans plusieurs iPad et iPhone applications en cours de développement. J'ai fait traduire le code pour fonctionner avec les versions 32 bits de précision unique pour les performances sur les BRAS. En regardant l'assemblée produite avec XCode 3.2.2, il vectorizes avec des instructions SIMD NEON très bien. Je suis à moitié déçu en fait, comme j'étais prêt à vectoriser un peu le code moi-même pour encore plus de performance. Ces optimisations ne peut pas être fait sans d'abord traduire la FFT à la simple précision évidemment.
Alors que j'ai utilisé Objective-C depuis de nombreuses années, j'ai participer activement au développement de l'utiliser, et même appris la programmation orientée objet à l'aide d', je n'ai pas de préparer une telle wrapper (si j'avais fait de même, en 1992, avec un autre FFT) pour des raisons de performances.
Je n'ai pas testé FFTW contre Ooura de la FFT depuis au moins 10 ans, mais quand je n'ai Ooura de la bibliothèque a été plus rapide pour 1024 point réel Fft. Cependant, il est tout à fait possible que FFTW peut faire beaucoup mieux maintenant, mais l'octroi de licences et de cross-compiler pour le BRAS n'est pas pratique et j'ai toujours trouvé FFTW à être bien trop encombrant et gênant pour mon DSP besoins. Apple VecLib est très agréable, mais malheureusement ils n'ont pas porté sur l'iPhoneOS. J'ai ouvert une demande de fonctionnalité dans BugReporter et vous pouvez aussi: https://bugreport.apple.com/
OriginalL'auteur ctpenrose
Comme répondu avant, l'Accélérer Cadre fournit maintenant des APIs qui pourraient vous aider.
Vérifier:
Accélérer Le Cadre De Référence
vDSP de Référence
À L'Aide De Transformées De Fourier
OriginalL'auteur dwbrito