Digitale Signalverarbeitung vs. analoge Signalverarbeitung für ein 100-kHz-DAQ-Projekt

Ich habe eine dumme Frage zu stellen (für viele von Ihnen), aber sie nervt mich schon eine Weile und ich brauche jemanden, der mir eine klare Antwort geben kann. (Ich bin ein zweites Jahr in Elektrotechnik.)

Ich arbeite an einem Projekt, bei dem ich die induzierte Spannung aufgrund eines magnetischen Wechselfelds an einem Solenoid genau messen muss. Die induzierte Spannung soll von DAQ über ADC gemessen werden. Bei der Arbeit an dem Projekt stellte sich mir immer wieder die Frage: Brauchen wir wirklich einen analogen Filter, wenn das Signal digital gewandelt werden soll?

Nach dem Entwurf des Projekts muss das Signal verstärkt (sicher) und dann gefiltert (Bandsperrfilter) werden, bevor es an die DAQ-Karte gesendet werden soll. Meine Frage ist, ob dieser Schritt überhaupt notwendig ist. Können wir das gesamte Rauschen im Signal oder unerwünschte Frequenz-/Zeitkomponenten nicht digital mit Matlab oder anderer Software entfernen? Meine Vermutung ist, dass einige elementare analoge Filter benötigt werden, damit das Signal nicht zu verrauscht ist, damit die digitale Signalverarbeitung das Originalsignal originalgetreu reproduzieren kann. (Sagen wir auch, ich weiß, wie das Spektrum idealerweise aussehen sollte.)

Ich muss den Filter machen und hatte vor, einen einfachen aktiven Filter mit RC-Komponenten und einem Operationsverstärker zu bauen, um das Signal irgendwie zu glätten.

Wenn meine Vermutung richtig ist, warum haben wir Filter in Laborqualität, die Zehntausende von Dollar kosten, wenn dies mit ADC, digitaler Signalverarbeitung und vielleicht DAC billiger möglich ist, wenn wir am Ende analog wollen?

Jede Aufklärung bezüglich meiner Verwirrung wäre sehr willkommen. Hoffentlich können die Leute sehen, woher meine Verwirrung kommt.

PS: Für mein Projekt arbeite ich im DC - <100 kHz-Bereich.

„Aliasing“ ist der Google-Suchbegriff des Tages (zumindest für Sie).
Ich verstehe (irgendwie brauche ich mehr Zeit, nehme ich an). Aber sagen wir, ich arbeite mit Sinuswellen bei festen Frequenzen und einer Abtastrate, die viel höher ist als die Frequenz, die ich verwende ... Muss ich mir immer noch Gedanken über Aliasing machen und brauche ich immer noch einen analogen Filter?
Wenn Sie den digitalen ADC-Ergebnissen von DAQ vertrauen wollen, müssen Sie sicherstellen , dass diese Ergebnisse nicht durch Material > 100 kHz verunreinigt sind. Ihr Instinkt liegt also richtig: Wahrscheinlich ist eine analoge Filterung erforderlich, bevor Signale in die DAQ gelangen. Oft kann dieser analoge Filter trivial einfach, aber dennoch notwendig sein, insbesondere wenn Ihre interessierende Frequenz weit unter der Frequenz der Abtastrate Ihres DAQ liegt (in Ihrem Fall vielleicht 200 kHz?).
Das, was Sie beschreiben (Verlagerung der Signalverarbeitung in die digitale Domäne), ist sehr genau der richtige Ansatz. Wie andere bereits erwähnt haben, müssen Sie nur auf Anti-Aliasing und Quantisierungsrauschen achten. Aber – auf die Gefahr hin, wie ein alter Mann zu klingen – billiger DSP und kostengünstige Hochgeschwindigkeits-DAQ sind relativ neu, weshalb Ihr Labor wahrscheinlich immer noch einen Haufen Präzisionsfilter herumliegen hat.
Zehntausende von Dollar?!
"Sinusoid bei fester Frequenz und Abtastrate viel höher": Wenn Sie abtasten und einen digitalen Filter (Tiefpass) anwenden, können Sie möglicherweise sehr gut weggehen. Sie können auch die (digitalen) Samples nehmen, die abgetastete Wellenform anzeigen und mit dem (analogen) Original vergleichen, um zu sehen, ob etwas schief geht. Vieles hängt von den tatsächlich beteiligten Wellenformen ab. Die Abtastrate sollte sowieso viel viel höher sein: mindestens das Doppelte (aber mehr ist besser) als die höhere Frequenz, an der Sie interessiert sind.
Vielen Dank für all eure Beiträge! Mir ist die Nyquist-Frequenz bekannt, und NI empfiehlt eine Abtastrate, die zehnmal so hoch ist wie die für uns relevante Frequenz. (Meiner kann mit 625 KS/s abtasten, aber ich könnte nach einem besseren fragen, wenn ich wollte). Ich habe elektronische Filter gesehen, die etwa 12.000 US-Dollar (AE Techron) kosten, aber ich denke, sie haben Anwendungen, bei denen ein breites Spektrum von Frequenzen am Signal beteiligt ist. Ich war mir nicht sicher, wie gut mein Analogfilter sein sollte. Nochmals vielen Dank für die Antworten. Es gab mir tatsächlich einen gewissen Selbstvertrauensschub, da ich nicht nur schrecklich verwirrt bin. Lass es dir gut gehen.
@MKSaunders Wenn Sie ein NI-DAQ verwenden, verfügt es bereits über eine für seine ADC-Bandbreite geeignete Eingangsfilterung, sodass Sie sich im Allgemeinen keine Gedanken über die Vorkonditionierung des Signals machen müssen. Viele der Kommentare kommen aus der Perspektive, die analogen Schaltungen selbst zu entwerfen, was Sie nicht tun. NI-DAQ-Karten sind wie Oszilloskope – sie erledigen das bereits für Sie. Sie sagen jedoch, dass Sie einen Bandstoppfilter verwenden. Wenn dieser also etwas wirklich Lautes herausfiltern soll, müssen Sie dies möglicherweise noch vor dem ADC tun, damit genügend Dynamikbereich übrig bleibt, um Ihr Signal tatsächlich zu erfassen.
@ user253751 Ich weiß nicht, wie es mit Zehntausenden aussieht, aber so etwas wie ein Stanford SR650 bringt Ihnen fast 5.000 US-Dollar neu. Labortestgeräte sind teuer.
@J ... nun, das ist nichts, was Sie in ein Produkt integrieren würden, das ist ein Laborgerät, das entwickelt wurde, um jeden Filter mit hoher Genauigkeit und Einstellbarkeit zu ersetzen. Sie würden doch kein Labornetzteil in ein Produkt integrieren, oder? Nein, Sie würden es nur als vorübergehenden Ersatz für die eigentliche Stromversorgung des Produkts verwenden.
@ user253751 Ja, ich verstehe. Sie schienen dennoch überrascht über den Preis. Auf jeden Fall sagte OP nichts über ein Produkt - sie sagten "Projekt", was es für mich wie F & E klingen lässt, was normalerweise dazu führt, dass Filter in Laborqualität herumliegen und NI-Hardware für die Erfassung verwendet wird.

Antworten (5)

ADCs benötigen normalerweise einen Anti-Aliasing-Filter, da sonst Frequenzen über Fs/2 auf Frequenzen unter Fs/2 aliasen. Wenn Ihre Abtastfrequenz beispielsweise 48 kHz beträgt und kein Anti-Alias-Filter vorhanden ist, liefert eine 25-kHz-Sinuswelle den gleichen ADC-Ausgang wie eine 24-kHz-Sinuswelle.

Dies wird manchmal ausgenutzt, um ein Signal mit einer Frequenz über Fs/2 abzutasten, aber in diesem Fall ist anstelle eines Tiefpasses ein Bandpassfilter erforderlich, um sicherzustellen, dass die Bandbreite des Signals in die Bandbreite des ADC passt. Andernfalls wird es Alias.

Die Implementierung dieses Filters hängt von der Art des ADC ab (Sigma-Delta, SAR usw.). Daher würde ich empfehlen, zuerst das Handbuch für Ihr DAQ zu lesen und zu prüfen, was sie darüber sagen. Wenn es bereits über einen Anti-Aliasing-Filter verfügt, müssen Sie möglicherweise keinen hinzufügen.

Da es kompliziert ist, analoge Filter hoher Ordnung herzustellen, übertasten ADCs normalerweise das Signal. Wenn die Zielabtastrate beispielsweise 48 kHz beträgt, könnten Sie einen ADC verwenden, der mit 48 kHz läuft, aber Sie benötigen einen sehr steilen Filter, der bei etwa 20 kHz abschneidet und bei 2 kHz eine tiefe Abschaltung wie -100 dB erreicht. Wenn Sie andererseits bei 12,288 MHz abtasten, können Sie einen einfachen billigen analogen Tiefpass verwenden, der oberhalb von 20 k abfällt und dann mit zunehmender Frequenz langsam abfällt, gefolgt von einem steilen digitalen Filter beim Downsampling auf 48 k, was viel billiger ist mit moderner Technologie (dh billige schnelle ADCs).

Eine andere Situation, in der Sie keinen Filter benötigen, ist, wenn Sie absolut sicher sind, dass Ihr Signal keine Frequenzkomponenten außerhalb der ADC-Bandbreite enthält.

Wie auch immer, überprüfen Sie die Dokumente.

Eine andere Situation, in der Sie einen Filter vor Ihrem ADC benötigen, ist, wenn Sie versuchen, ein winziges Signal in Gegenwart eines großen Signals zu messen. In diesem Fall kann der ADC aufgrund des großen Signals den Dynamikbereich verlassen oder verzerren, und das kleine, das Sie messen möchten, wird in Rausch- und Verzerrungsprodukten begraben. Die Lösung ist ein Kerbfilter, um das unerwünschte große Signal loszuwerden.

Gut der Gedanke an das winzige Signal, das von einem größeren dominiert wird.
@linuxfansaysReinstateMonica In der Tat. EKG/EEG sind gute Beispiele. Nicht nur der Filter zum Entfernen von 50/60-Hz-Interferenzen, sondern auch die Hochpassfilterung zum Entfernen von Grundlinienwanderungen. Die erste ist schwieriger, da sie näher an den interessierenden Frequenzen liegt.
Oder wenn Sie die Verzerrung mit einem ADC messen möchten, der mehr Obertöne erzeugt als das DUT, müssen Sie das Signal auskerben, um die Verzerrung beizubehalten, andernfalls messen Sie den ADC
Danke für die Eingabe. Obwohl ich nicht alles verstehe, was Sie geschrieben haben, verstehe ich das Wesentliche. Ich werde sicherlich darauf zurückblicken, nachdem ich etwas mehr gelernt habe. Danke schön!

In zwei Bildern (mit Oktave erstellt) ein 1-kHz-Signal, das mit 1100 sps abgetastet wurde:

Geben Sie hier die Bildbeschreibung ein

und bei 1200 sps:

Geben Sie hier die Bildbeschreibung ein

Wie könnte die digitale Verarbeitung diese von (jeweils) 100-Hz- und 200-Hz-Signalen unterscheiden? Aliasing muss vermieden werden. Danach ist die digitale Domänenverarbeitung in der Tat viel einfacher/billiger als in analoger Hardware.

Brauchen wir wirklich einen analogen Filter, wenn das Signal digital gewandelt werden soll?

Als erstes: Sie brauchen einen Aliasing-Filter vor dem ADC. Dies kann bereits auf der DAQ-Karte geschehen, also überprüfen Sie das.

Was digitale und analoge Filter betrifft, so sind digitale Filter einfach zu ändern und können im Handumdrehen konfiguriert werden. Analoge Filter sind dies weniger.

Können wir das gesamte Rauschen im Signal oder unerwünschte Frequenz-/Zeitkomponenten nicht digital mit Matlab oder anderer Software entfernen?

Nein, Sie können nicht das gesamte Rauschen aus einem Signal entfernen, sondern nur dämpfen. Mit den meisten Filtern können Sie bestimmte Frequenzbereiche und das damit verbundene Rauschen herausfiltern, aber das Filtern von Signalen im interessierenden Frequenzbereich hat Konsequenzen. Durch Aufdrehen der Filter reduzieren wir das Rauschen, aber irgendwann wird auch das Signal beeinträchtigt.

Beispiel: Was ist, wenn wir eine weiße Rauschquelle haben, die 1 Vpp und eine 5 Vpp-Sinuswelle bei 1 Hz bis 4 Hz hat. Mit einem Tiefpassfilter können wir das Rauschen über 4 Hz herausfiltern und wir werden ein geringeres Rauschen sehen. Wenn wir mehr Filterung wünschen, um das Rauschen zu verringern, beginnt es, in den Bereich des Signals einzudringen, und das Signal wird gedämpft.

Dynamikbereich und Quantisierung digitaler Wandler sind ein weiterer Grund, warum wir in der analogen Welt filtern sollten. Manchmal ist das Rauschen so groß, dass es den Bereich des digitalen Abtastsystems überschreitet und vor dem ADC herausgefiltert werden muss.

Üblicherweise wird ein Hybrid aus digitalen und analogen Filtern verwendet.

Ich würde vorschlagen, einen Low-Pas-Filter zu verwenden, um nur den Frequenzbereich der Signale einzulassen, die Sie sehen möchten (wenn Sie sich noch in Reichweite des ADC befinden), und den Rest mit digitaler Nachbearbeitung zu erledigen.

Vielen Dank für Ihre ausführliche Antwort. Ich hätte sorgfältiger formulieren sollen, wie man das Rauschen digital entfernt. Ich werde Ihren Rat für die Dauer des Projekts (und danach) berücksichtigen. Ich wünsch dir was!

Oversampling mit Dezimierung hilft, die Ordnung des "Ziegelwand"-Filters zu reduzieren, damit Nyquist-Aliasing-Rauschen zurückgewiesen wird, wo der dynamische Bereich und das Verhältnis der Oversampling die für die Filterung erforderliche Ordnung bestimmen.

Beispielsweise reduziert Oversampling die Dämpfungsordnung des Filters, z. B. 128x später dezimiert bedeutet, dass die Komplexität des Filters um mehrere Größenordnungen mit viel geringerer Gruppenverzögerungsverzerrung reduziert werden kann.

Hallo, danke für die Eingabe, ich erinnere mich vage an Oversampling mit Dezimierung in meinem Signal- und Systemkurs, aber ich sollte das untersuchen. Ich wünsch dir was.

Sie müssen sicherstellen, dass Ihre Abtastrate größer als das Doppelte der höchsten Frequenz in Ihrem Signal ist. Je größer desto besser. Andernfalls tritt ein Aliasing auf.
Sobald Sie Ihr Signal mathematisch abgetastet haben, erstellen Sie diese Repliken im Frequenzbereich Ihres abgetasteten Signals. Diese Kopien dürfen sich nicht überlappen, um Aliasing zu verhindern.

Eine weitere Überlegung ist, dass analoge Filter in Bezug auf Phasenverschiebung und Frequenzgang einfacher zu entwerfen sind. Normalerweise beginnen wir beim Entwerfen eines digitalen Filters mit einem analogen Filter im s-Bereich und transformieren ihn dann mit allen möglichen Techniken in den z-Bereich. Je höher die Abtastrate ist, desto näher kommt das Ergebnis dem analogen Filter.

Die meisten von uns werden digitale Filter (mit Aliasing-Filter) bevorzugen, nur weil es viel billiger ist, wenn Sie bereits eine MCU haben.