Entwerfen Sie einen Filter, der es Frequenzen unter 5 kHz ermöglicht, frei zu passieren, aber alle Frequenzen über 5,2 kHz müssen nicht nachweisbar sein

12

Meine größte Herausforderung bei dieser Frage ist die lächerlich hohe Abrollrate.

Ich gehe davon aus, dass das Signal nicht nachweisbar ist, wenn seine Verstärkung -20 dB beträgt. Dies bedeutet, dass innerhalb des Übergangsbandes von 200 Hz die Signalstärke um 20 dB abfallen muss.

Wenn meine Berechnungen korrekt sind, erfordert dieser Filter eine Abrollrate von 1200 dB / Dez. Das erfordert 60 Pole, was natürlich nicht machbar ist.

Ich möchte ein analoges aktives Filter mit minimaler Welligkeit im Durchlassbereich verwenden. Eine große Phasenverschiebung ist nicht zu wichtig.

Eine mögliche Lösung ist die Verwendung eines Sperrfilters bei 5,2 kHz. Frequenzen oberhalb der Bandbreite des Kerbfilters werden jedoch immer noch nicht ausreichend gefiltert.

Bitte weisen Sie auf Fehler in meiner Logik hin und schlagen Sie mögliche Lösungen vor. Vielen Dank.

Tamir Shklaz
quelle
15
Das Aufrufen von -20dB
undetectable
1
@WhatRoughBeast ??? Mir ist klar, dass er 4500 durch 20 geteilt hat, um 225 Pole zu erhalten; Was mich herausfordert, ist, wie er den 4500er überhaupt bekommen hat.
Dave Tweed
7
Was für eine Antwort erwarten Sie von Tamir? Analog passiv / aktiv? Digital IIR / FIR? Wave Digital Filter? FFT + Unerwünschtes entfernen + IFFT?
Harry Svensson
3
Wie viel Durchlasswelligkeit ist akzeptabel?
Bruce Abbott
1
"mit minimaler Welligkeit im Durchlassbereich" - "minimal" ist keine Spezifikation.
Bruce Abbott

Antworten:

21

Sie haben für Ihren Filter einen Roll-off von 20 dB / Dez pro Filterbestellung angenommen. Dies gilt nicht für alle Filtertypen.

Sei und f s t o p = 5,2 k H z . Dann f s t o pf0=5kHzfstÖp=5.2kHz

fstÖpf0=1.04.

Schauen Sie sich diesen elliptischen Filter vierter Ordnung aus dem Wikipedia-Artikel an . elliptisch

Obwohl es nicht ganz Ihren Anforderungen entspricht, sehen Sie, dass es machbar ist. Ein elliptischer Filter höherer Ordnung kann das erreichen, wonach Sie suchen.

Beachten Sie, dass elliptische Filter die Phase des Signals stören können. Da Sie nichts über Ihre Phasenbeschränkungen gesagt haben, bin ich davon ausgegangen, dass ein Ellipsenfilter geeignet ist.

user110971
quelle
Das ist keine schlechte Idee. Elliptisches LPF 6. Ordnung hat eine ausreichend steile Übergangssteigung, wenn die Welligkeit des 3-dB-Durchlassbereichs und die max. -20dB Leckage bei 5200Hz und höher ist zulässig. Das Ergebnis wurde mit einem Filterrechner erzielt. Ich gab nur verschiedene Befehle und Grenzwerte ein, bis ein korrekter Frequenzgang herauskam. Sechste Ordnung bedeutet, dass nur drei Blöcke zweiter Ordnung hintereinander geschaltet sind. Keine Ahnung, wird es in der Praxis mit üblichen Bauteiltoleranzen als analoges Operationsfilter realisierbar sein. Das braucht mehr Simulationen.
user287001
Hallo und danke für eine nette Antwort. Nur eine Kuriosität, wenn ich mir Wikipedia anschaue, scheinen die Pole auf einer Ellipse zu liegen, ist das, woher der Name kommt, oder ist es ein Zufall?
Kathreadler
1
@mathreadler Ich glaube, der Name kommt von der elliptischen rationalen Funktion, die in der Übertragungsfunktion des elliptischen Filters erscheint. Die Pole der elliptischen Filter sind eine Funktion der elliptischen Kosinusfunktion von Jacobi. Sie liegen also auf einer Ellipse.
user110971
21

Diese Art des scharfen Abrollens erfordert einen digitalen Filter. Denk nicht mal an Analog. Sie müssen die Eingabe mit einer sinc-Funktion falten. Die Breite der sinc-Funktion (die Anzahl der Kernel-Punkte) definiert die Stop-Band-Dämpfung.

Ich habe nicht nachgerechnet, aber einige sehr schnelle Berechnungen (möglicherweise müssen Sie diese Aufgabe ordnungsgemäß ausführen) besagen, dass Sie wahrscheinlich ein paar 100 Punkte benötigen, wenn Sie mit 20 kHz abtasten. 200 Punkte bei 20 kHz bedeuten eine MAC-Rate von 4 MHz. Das ist machbar, in der Tat weit unter dem, was moderne DSPs ziemlich einfach können. Das bedeutet, dass Ihr Problem leicht zu lösen ist. So etwas wie ein dsPIC der E-Serie kann das, und das ist eher wenig, wenn Sie nur nach DSP-Funktionen suchen.

Olin Lathrop
quelle
3
Dies ist eigentlich ein FIR-Filter. Eine schnelle Simulation hat gezeigt, dass 128 Stufenfilter mit rechteckiger Fensterung ausreichen. Die Koeffizienten werden aus der Impulsantwort des idealen 5100-Hz-LPF entnommen. Die erste Nebenkeule ist nur -20dB bei ca. 5250Hz (von einem Filterrechner aus gesehen)
user287001
2
@user: OK, das heißt, es ist tatsächlich ein bisschen einfacher als meine obige grobe Schätzung. Ich würde den Kernel wahrscheinlich ein bisschen breiter machen, nur um einen gewissen Spielraum zu haben, zumal das auch bei einem bescheidenen DSP noch möglich ist.
Olin Lathrop
Es gibt einige wirklich gute Ressourcen für den Filter und welche Fensterfunktion zu verwenden ist: Ich persönlich mag dspguide.com
Peter Smith
4

Wenn Sie eine erhebliche Verzögerung zulassen oder ein aufgezeichnetes Signal verarbeiten, können Sie einfach eine FFT ausführen, unerwünschte Komponenten entfernen und die Transformation invertieren. Sie müssen das fft mit der richtigen Fensterfunktion abschneiden, um das Klingeln akzeptabel zu halten.

user287001
quelle
8
Ich denke, für ein so enges Übergangsband muss man viel mehr darüber sagen, wie man die Fensterfunktion auswählt, damit diese Antwort zur Lösung des Problems nützlich ist.
Das Photon
4

Ich würde einen Audio-Codec-Chip (ADC + DAC) auswählen, den digitalen ADC-Ausgang zum DAC-Eingang leiten und die Abtastrate auf 10 kHz einstellen.

Diese Chips enthalten bereits die von Ihnen benötigte Digitalfilter-Engine. Eine schnelle Überprüfung des Datenblattes scheint zu bestätigen, dass Sie die Filterleistung erhalten, die Sie benötigen.

peufeu
quelle
Bist du dir da sicher?
user253751
Nicht 100% sicher, aber ich sehe keinen Grund, warum es mit einem Sigma-Delta-Codec nicht funktionieren würde, einige können bis zu 8
kHz
Aber ich meine, warum glaubst du, wird es die unerwünschten Frequenzen zurückweisen, anstatt sie zu verfälschen?
user253751
Der übliche Audio-ADC ist ein Sigma-Delta mit großem Überabtastungsfaktor, gefolgt von einem scharfen Digitalfilter. Die meisten davon laufen von Fs = 8k bis 96-192k. Aliasing wird durch einen einfachen Tiefpass 1. Ordnung vor dem ADC vermieden und das Oversampling erledigt dies. Sie sollten bei Fs = 10 kHz mit der richtigen Taktfrequenz einwandfrei funktionieren.
Peufeu
4

Sie haben bereits viele gute Antworten mit guten herkömmlichen Lösungen, elliptischen Filtern, (Kurzzeit-) FFT usw., und ich dachte, ich kann etwas aus der Subbandcodierungs- / Wavelet-Transformationswelt hinzufügen.

Subbandcodiermittel zum Unterteilen des Frequenzspektrums in "Bins", wobei jedem dieser Bins ein eigenes Filter zugeordnet ist. Die engeren Bänder, die breiteren Filter im Zeitbereich (natürlich) - aber in Bereichen, in denen wir keine sehr engen Bänder benötigen, können wir mit wirklich kurzen und günstig zu berechnenden Filtern davonkommen.

Wavelets sind Funktionen, die das Ergebnis einer bestimmten Art von Teilbandfiltern sind, die durch iteriertes Filtern und anschließendes Unterabtasten erzeugt werden.

Die Idee wäre, die interessierenden Unterbänder zu finden, die es uns ermöglichen würden, die Berechnungen am meisten zu komprimieren, aber dennoch eine gute Granularität in dem interessierenden Band zu erhalten.

Beispiel einer Daubechies 12-Tap-Paketzerlegung in drei Ebenen (Wikipedia):

Geben Sie hier eine Bildbeschreibung ein

Wir können diese dann selektiv zusammenfassen, um die gewünschte Antwort zu erhalten. Und diejenigen, die wir nicht hinzufügen wollen - wir müssen nicht einmal rechnen! Wir brauchen schmalere, die näher am 5-5,2-kHz-Band liegen, um steil genug zu werden. Aber auf der anderen Seite, weit weg vom 5-5,2 kHz-Band, können wir mit nur wenigen Unterteilungen davonkommen.

mathreadler
quelle
Dies ist eher eine Werbung als eine Antwort.
Harry Svensson
@HarrySvensson Ich kann versuchen, genauer zu sein, aber ich habe heutzutage nicht mehr so ​​viel Freizeit wie früher, um die Antworten zu verbessern.
Kathreadler
3

Wenn Sie einen sinusförmigen Eingang garantieren können, kann ein monostabiler One-Shot-Eingang (74121) ausreichen. Oder die wieder auslösbare 122/123.

Verwenden Sie einen Komparator vor dem 74121/122/123

Einige MCUs enthalten analoge Komparatoren als Peripheriegeräte. Nach der Umwandlung in eine Rechteckwelle können Sie mithilfe von Timern usw. über / unter 5.000 Hz ermitteln, ob die MCU über eine XTAL-stabilisierte Uhr verfügt. Keine Notwendigkeit für einen temperaturempfindlichen Monostabil.

analogsystemsrf
quelle
2
Interessant, aber was lässt Sie denken, dass der Eingang sinusförmig sein könnte? Scheint ziemlich utopisch, diese Annahme ohne besonderen Grund zu machen.
links um 10.3.18
1
Ich denke, indem ich als die ersten 4 Wörter seiner Antwort sate "wenn Sie GARANTIEREN können", dann ist dies eine neuartige Lösung.
Techydude
Ich habe diesen Ansatz (den nachtriggerbaren 74123) verwendet, um ein Blockieren der Räder in einem Antiblockiersystem zu erkennen. Bei einer Zeitüberschreitung des 74123 wurde der Hydraulikzylinder von 2N3055 angetrieben, um die Bremsen zu betätigen. Aufgrund der hydraulischen Zeitkonstante haben wir nur ungefähr 2 Impulse pro Sekunde erhalten.
analogsystemsrf