Un bon logiciel de conception de filtres pour Mac OS X / Unix?

11

J'ai besoin d'implémenter un filtre passe-bas simple pour un circuit d'acquisition de données (en utilisant un tissu conducteur extensible comme capteur résistif). Diverses sources ont recommandé que la meilleure façon de procéder consiste à utiliser un logiciel de conception de filtres.

Je n'ai pas encore trouvé d'outil de conception de filtre (calculatrice) que j'aime. Ceux en ligne que j'ai trouvés étaient bogués / odieux. La meilleure solution serait celle avec une belle interface graphique qui fonctionne avec Mac OS X. Alternativement, une solution Unix / Linux pourrait fonctionner. Windows est un no-go pour moi.

J'ai trouvé cette liste: http://www.circuitsage.com/filter.html

EDIT: J'utilise celui en ligne en ce moment, spécifiquement pour les filtres actifs (qui sont plus applicables aux capteurs car ils sont plus stables avec les basses fréquences).

msutherl
la source
Vous devez indiquer clairement si vous souhaitez concevoir des filtres numériques ou des filtres analogiques ; et, pour les filtres analogiques, actifs ou passifs.
nibot

Réponses:

6

MATLAB est un très bon point de départ pour la simulation et la conception de filtres. Il existe une boîte à outils de conception de filtre qui est assez utile. Cependant, cela a un coût.

Pour les applications de capteurs, les filtres Butterworth sont généralement meilleurs car ils ont une bande passante plate maximale (au détriment de la réponse de phase et du roll off). Cela signifie que l'amplitude de votre signal sera plate sur toute la plage de fréquences.

Évitez d'implémenter un filtre actif de topologie Sallen-Key , il est très difficile de faire correspondre tous les composants et de maintenir une bonne précision, essayez de faire une simulation de Monte Carlo sur un circuit Sallen-Key pour mieux comprendre.

Les filtres à condensateur commutés sont bons pour les baisses importantes et ils sont disponibles dans les filtres Butterworth. Ceux-ci ont besoin d'un seul pôle avant et après eux pour supprimer un aliasing en raison du signal d'horloge de la commutation qui se produit entre 50 et 100 fois plus que votre coupure.

Vous pouvez également utiliser un simple filtre RC unipolaire (actif ou passif) et alimenter un ADC plus rapide, puis vous pouvez utiliser le traitement du signal numérique sur une plate-forme ou un PC intégré pour effectuer la décimation et l'analyse. Cela fait passer le coût et la complexité des composants analogiques aux exigences logicielles et de traitement.

Plus important encore - assurez-vous que vous respectez les critères de Nyquist et que vous échantillonnez à au moins deux fois la fréquence la plus élevée, en pratique, cela signifie un échantillonnage à quatre à 10 fois votre fréquence la plus élevée, pour permettre au filtre de descendre bien en dessous de votre niveau de résolution ADC au taux de Nyquist.

smashtastic
la source
4
SciPy peut faire beaucoup des mêmes choses que MATLAB, mais gratuitement. scipy.org/doc/api_docs/SciPy.signal.filter_design.html Il y a aussi plus de clones directs comme Octave et FreeMat, mais je ne sais pas s'ils ont tous les éléments de conception de filtre intégrés.
endolith
J'ai une copie de MATLAB - je vais la vérifier, mais je ne sais pas si elle donne des schémas électriques.
terrasse du
3
vous n'obtiendrez pas de schémas électriques dans ou hors du matlab. Vous avez quelques options, l'une d'entre elles étant la boîte à outils de conception de filtre, qui vous permet de modéliser directement les filtres, ou d'effectuer une transformation de laplace de votre circuit et de votre modèle et de simuler à l'aide du paramètre de laplace, puis de le reconvertir en schémas électriques. Matlab modélisera les polynômes de filtre réels, et non le circuit, car les filtres ne sont pas universels et traverseront quelques domaines, alors que les circuits électriques sont exactement cela. Ils peuvent cependant réaliser des polynômes filtrants!
smashtastic
il y a aussi l'octave qui est gratuit / open source et est (principalement) compatible avec le code matlab pour la conception des filtres: gnu.org/software/octave
Mark
5

Essayez Scilab , il est livré avec des fonctions de conception et de simulation de filtres FIR et IIR. C'est gratuit! Il existe des versions Linux et MAC.

Leon Heller
la source
3

Cela dépend de ce que vous entendez par "simple filtre passe-bas" et de ce que vous avez besoin du logiciel pour faire. Si vous voulez juste la fréquence -3 dB pour un filtre LC:

Calculatrice Google

Wolfram Alpha

endolith
la source