Wenn Sie die Engineering-Zeit optimieren und sich auf einer Plattform befinden, die große FFTs gut unterstützt (dh kein Fixpunkt), befolgen Sie die Empfehlungen von hotpaw2 und verwenden Sie die schnelle Faltung . Es ist viel leistungsfähiger als eine naive FIR-Implementierung und sollte relativ einfach zu implementieren sein.
Wenn Sie andererseits etwas Zeit haben, um die beste Implementierung zu erzielen , oder wenn Sie sich auf einer Festkomma-Plattform befinden, sollten Sie eine Multiraten- Down-Filter-Up-Subtrahier-Struktur verwenden. Aber es ist etwas schwieriger, alles richtig zu machen.
Ich habe Zugriff auf vertrauenswürdige und hochoptimierte Implementierungen von Tools für schnelle Faltung und Multiraten-Filterung. Die schnelle Faltung dauert etwa dreimal länger, um eine im Vergleich zur Multiratenstruktur gleichwertige Signalleistung zu erzielen. Darüber hinaus ist das sogar auf einer Gleitkommaplattform. Ab einem festen Punkt dsp würde sich die Lücke erheblich vergrößern.
Allgemein gesagt:
Down-Konvertierung:
Verwenden Sie 8 Halbband-Dezimierungsfilter, um Ihr 48-kHz-Signal in ein 187,5-Hz-Signal umzuwandeln. Die erste Stufe dieses Downsamplings kann ein sehr breites Übergangsband aufweisen, das es ermöglicht, dass die Energie einen Alias aufweist, solange sie nicht in den Bereich unter 60 Hz zurückkehrt. Mit fortschreitenden Stufen muss die Anzahl der Abgriffe erhöht werden, sie werden jedoch mit zunehmend niedrigeren Abtastraten angewendet, sodass die Gesamtkosten für jede Stufe gering bleiben.
Filterung:
Führen Sie Ihre enge Filterung bei 60 Hz durch, um die Energie zu erhalten, die Sie eventuell subtrahieren möchten. Es gibt einen doppelten Vorteil, wenn Sie Ihre Filterung mit der niedrigen Rate durchführen:
- Die Übergangsbandbreite von 1 Hz ist in Bezug auf die digitale Frequenz bei der niedrigen Rate im Vergleich zur ursprünglichen Rate 256-mal größer. Daher ist jeder Druck auf Ihren Filter 256-mal so stark.
- Das Signal selbst hat eine niedrigere Rate, sodass der Filter nur 1/256 der Daten verarbeiten muss.
Up-Conversion:
Im Wesentlichen ist dies die Umkehrung der Dezimierungsstufen. Jede der 8 Interpolatorstufen verdoppelt die Rate durch Schätzen des Abtastwerts, der zwischen aufeinanderfolgenden Eingangsabtastwerten liegt. Das Übergangsband wird breiter, wenn die Abtastrate höher wird.
Subtrahieren:
Subtrahieren Sie Ihr tiefpassgefiltertes Signal mit voller Rate vom Originalsignal. Wenn Sie alle Gruppenverzögerungen richtig eingestellt haben, ist die Gesamtstruktur ein Hochpassfilter mit einer schmalen Übergangsbandbreite.