Un buon software di progettazione di filtri per Mac OS X / Unix?


11

Devo implementare un semplice filtro passa-basso per un circuito di acquisizione dati (usando un tessuto conduttivo elastico come sensore resistivo). Varie fonti hanno raccomandato che il modo migliore per farlo sia usare il software di progettazione del filtro.

Non ho ancora trovato uno strumento di progettazione di filtri (calcolatrice) che mi piace ancora. Quelle online che ho trovato sono state buggy / odiose. La soluzione migliore sarebbe quella con una bella interfaccia grafica che funziona con Mac OS X. In alternativa, una soluzione Unix / Linux potrebbe funzionare. Windows è un gioco da ragazzi per me.

Ho trovato questo elenco: http://www.circuitsage.com/filter.html

EDIT: sto usando questo web-based in questo momento, in particolare per i filtri attivi (che sono più applicabili per i sensori in quanto sono più stabili con le basse frequenze).


Dovresti chiarire se sei interessato a progettare filtri digitali o filtri analogici ; e, per i filtri analogici, attivo o passivo.
nibot

Risposte:


6

MATLAB è un ottimo punto di partenza per la simulazione e la progettazione del filtro. C'è una cassetta degli attrezzi per la progettazione di filtri che è piuttosto utile. Tuttavia ha un costo.

Per le applicazioni dei sensori, i filtri Butterworth sono generalmente migliori in quanto hanno una banda passante massima piatta (a scapito della risposta di fase e del roll-off). Ciò significa che l'ampiezza del segnale sarà piatta in tutta la gamma di frequenza.

Evita l'implementazione di un filtro attivo per topologia Sallen-Key , è molto difficile ottenere tutti i componenti da abbinare e mantenere una buona precisione, prova a fare una simulazione Monte Carlo su un circuito Sallen-Key per capire meglio.

I filtri a condensatore commutato sono buoni per il roll-off ripido e sono disponibili nei filtri Butterworth. Questi hanno bisogno di un singolo polo prima e dopo di loro per rimuovere un aliasing dovuto al segnale di clock della commutazione che si verifica ovunque da 50 a 100 volte maggiore del tuo cut-off.

In alternativa, utilizzare un semplice filtro RC unipolare (attivo o passivo) e immettere un ADC a velocità più elevata, quindi è possibile utilizzare l'elaborazione del segnale digitale su una piattaforma o un PC incorporato per eseguire la decimazione e l'analisi. Ciò sposta costi e complessità dai componenti analogici ai requisiti software e di elaborazione.

Ancora più importante: assicurati di rispettare i criteri di Nyquist e di campionare almeno il doppio della frequenza più alta, in pratica ciò significa campionare a quattro - 10 volte la frequenza più alta, per consentire il roll-off del filtro ben al di sotto del tuo livello di risoluzione ADC al ritmo di Nyquist.


4
SciPy può fare molte delle stesse cose di MATLAB, ma gratuitamente. scipy.org/doc/api_docs/SciPy.signal.filter_design.html Ci sono anche altri cloni diretti come Octave e FreeMat, ma non so se hanno tutti gli elementi di progettazione del filtro integrati.
endolith

Ho una copia di MATLAB - lo verificherò, anche se non sono sicuro che produca schemi elettrici.
terrazza

3
non otterrai schemi elettrici dentro o fuori il matlab. Sono disponibili alcune opzioni, una delle quali è il toolkit di progettazione del filtro, che consente di modellare direttamente i filtri o eseguire una trasformazione laplace del circuito e del modello e simulare utilizzando il parametro laplace, quindi riconvertirlo in schemi elettrici. Matlab modellerà i veri polinomi del filtro, e non il circuito, poiché i filtri sono non-verticali e attraversano alcuni domini, dove i circuiti elettrici sono esattamente questo. Possono tuttavia realizzare polinomi di filtro!
smashtastic

c'è anche un'ottava quale free / open source ed è (principalmente) compatibile con il codice matlab per la progettazione del filtro: gnu.org/software/octave
Mark

5

Prova Scilab , viene fornito con le funzioni di progettazione e simulazione del filtro FIR e IIR. È gratis! Esistono versioni Linux e MAC.



Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.