Wenn eine lineare Phase erforderlich ist, werden Sie wahrscheinlich zu einer FIR-Implementierung geleitet. Es ist möglich, IIR-Filter mit einer ungefähren linearen Phase zu erstellen, aber es ist einfach, eine FIR mit linearer Phase zu entwerfen.
Wenn Sie sich Sorgen über die Latenz machen, ist das Vorwärts-Rückwärts-Filtern wie in filtfilt
keine gute Option. Im Allgemeinen ist es eigentlich als Offline-Prozess gedacht, da Sie zur genauen Implementierung der Technik das gesamte Signal vorwärts und dann rückwärts durchlaufen müssen. Dies bedeutet, dass Sie auf einmal auf das gesamte Signal zugreifen können, was nicht mit einer geringen Verzögerung angemessen ist.
Im Allgemeinen erfordert ein FIR-Filter eine höhere Ordnung für einen bestimmten Satz von Leistungsanforderungen. FIR-Filter bieten jedoch einige echte Vorteile, wie z. B. garantierte Stabilität, geringere Anfälligkeit für Rundungsfehler (da der Quantisierungsfehler nicht durch den Filter zurückgemeldet wird, obwohl Sie dies mit einer erhöhten Komplexität kompensieren können ) und sind einfach zu erreichen lineare Phasenantwort. Darüber hinaus sind für viele Prozessorarchitekturen effiziente FIR-Filterimplementierungen verfügbar, wodurch die Kosten für die zusätzlichen Abgriffe etwas gesenkt werden.
Eine andere Möglichkeit, die zusätzlichen Kosten für FIR-Filter in Ihrer Situation zu verringern, besteht darin, effiziente Multirate-Signalverarbeitungstechniken zu nutzen. Insbesondere können Sie einen mehrphasigen Dezimierungsansatz verwenden , um die Anzahl der Berechnungen, die Sie beim Dezimieren Ihres Signals ausführen, erheblich zu reduzieren. Dies hat den Effekt, dass die Anzahl der effektiven Abgriffe (in Bezug auf die Rechenkomplexität) im Dezimationsfilter verringert wird. Wenn Sie außerdem um einen großen Faktor dezimieren müssen, können mehrstufige Ansätze dazu beitragen, Ihre Last weiter zu reduzieren. Lyons DSP-Einführungsbuch enthält einige gute, leicht zu lesende Materialien zu diesen Themen.
Angesichts spezifischerer Parameter Ihres Systems könnte man gezieltere Empfehlungen aussprechen. Was sind Ihre Anforderungen an das Filterdesign? Welche Rechenfunktionen verfügt Ihre Plattform? Auf welche Abtastrate werden Sie dezimieren?