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.
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.
In zwei Bildern (mit Oktave erstellt) ein 1-kHz-Signal, das mit 1100 sps abgetastet wurde:
und bei 1200 sps:
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.
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.
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.
brhans
MK Saunders
glen_geek
Jon
Benutzer253751
linuxfan sagt Monica wiedereinsetzen
MK Saunders
J...
J...
Benutzer253751
J...