Se la fase lineare è un requisito, ciò probabilmente ti guiderà verso un'implementazione FIR. È possibile costruire filtri IIR con fase lineare approssimativa, ma è facile progettare una FIR a fase lineare.
Se sei preoccupato per la latenza, il filtro avanti-indietro come in filtfilt
non è davvero una buona opzione. In generale, è davvero pensato per essere utilizzato un processo offline, poiché per implementare esattamente la tecnica, è necessario eseguire l'intero segnale in avanti, quindi fare lo stesso al contrario. Ciò implica che hai accesso all'intero segnale in una sola volta, il che non è commisurato al ritardo basso.
In generale, un filtro FIR richiederà un ordine superiore per un determinato set di requisiti di prestazione. Tuttavia, i filtri FIR offrono alcuni vantaggi reali, come stabilità garantita, minore suscettibilità agli errori di arrotondamento (poiché l'errore di quantizzazione non viene restituito attraverso il filtro, sebbene sia possibile compensarlo con una maggiore complessità) e ottenuto semplicemente risposta di fase lineare. Inoltre, sono disponibili implementazioni efficienti di filtri FIR per molte architetture di processori, riducendo in qualche modo il costo dei tocchi extra.
Un altro modo per mitigare il costo extra-tap per i filtri FIR nella tua situazione è sfruttare le efficienti tecniche di elaborazione del segnale multirate. In particolare, è possibile utilizzare un approccio di decimazione polifase per ridurre significativamente il numero di calcoli eseguiti durante il processo di decimazione del segnale. Ciò ha l'effetto di ridurre il numero di tocchi effettivi (in termini di complessità computazionale) nel filtro di decimazione. Inoltre, se è necessario decimare in larga misura, gli approcci multistadio possono aiutare a ridurre ulteriormente il carico. Il libro introduttivo di DSP di Lyons ha del buon materiale di facile lettura su questi argomenti.
Dati i parametri più specifici del tuo sistema, si potrebbero formulare raccomandazioni più mirate. Quali sono i requisiti di progettazione del filtro? Che tipo di capacità computazionali ha la tua piattaforma? A quale frequenza di campionamento deciderai?