Ich habe eine Datenerfassungskarte (A / D + Digitaler Signalprozessor) und möchte prüfen, ob ein digitaler Hochpassfilter (in DSP implementiert) mit einer extrem niedrigen Grenzfrequenz (0,05 Hz) tatsächlich funktioniert.
Wenn dies eine Frequenz wäre, die ich mit einem Signalgenerator erzeugen könnte, wäre dies leicht zu überprüfen, aber 0,05 Hz sind zu niedrig und ich kann sie nicht erzeugen. Wie überprüfen Ingenieure diese Art von Filtern?
digital-filter
doubleE
quelle
quelle
Antworten:
Ich denke, es hängt von mehreren Faktoren ab, unter anderem von der Reihenfolge des Filters, aber Sie haben ein paar Möglichkeiten:
Wir verwenden in einigen unserer Testaufbauten eine Variante von Alternative 3, nicht weil wir die erforderlichen langsamen Wellenformen nicht erzeugen können, sondern weil die Abschaltung unserer analogen Filter mit <0,01 Hz viel zu lange dauern würde, um charakterisiert zu werden, wenn wir auch nur einen groben Frequenzdurchlauf versuchen würden . Dies reduzierte die Testzeit von mehr als einer Stunde auf nur wenige Minuten.
quelle
Ich würde meinen Agilent Funktionsgenerator verwenden , die auf 1 gehtμ Hz, ein ziemlich unauffällig (und veraltete) Modell 33522A. Mein Rigol DG4102, glaube ich, hat ähnlich 1 μ Hz Auflösung und Kosten weniger.
Leider kann man mit billigen DDS-Modulen (z. B. AD9850) nicht so niedrig werden, da das Abstimmungswort nur 32 Bit und der Takt normalerweise 125 MHz beträgt, was einer Auflösung von 0,03 Hz entspricht. Ich nehme an, es würde Ihnen ein paar Datenpunkte geben (0,0291 / 0,0582 / 0,0873 Hz)
Sie können es auch schrittweise füttern und sich die Zeitbereichsantwort ansehen.
quelle
Option 1: Test auf dem PC.
Wenn Ihr DSP-Code in C geschrieben ist, können Sie ein Testkabel in GCC oder Visual Studio einrichten. Sie kennen die Abtastrate für Ihren DSP-Code. Verwenden Sie daher Excel, um eine CSV-Testdatei zu erstellen, und lassen Sie das Testkabel eine CSV-Datei ausgeben, die Sie überprüfen können.
Option 2: Test auf dem DSP mit einer PC-Schnittstelle.
Wenn Ihr DSP-Code auf dem DSP ausgeführt werden muss, können Sie ihn dennoch mit dem PC testen. Richten Sie am DSP einen Test-Kabelbaum ein, der einen Wert vom PC empfängt, einen Schritt des DSP-Filters ausführt und dann die Filterausgabe für diesen Schritt an den PC zurückmeldet (abhängig von USB, RS-232 oder TCP / IP) wie Sie sich mit dem DSP verbinden). Sie benötigen außerdem ein PC-seitiges Testkabel, um diese Werte zu senden und zu empfangen. Auch hier können Sie eine CSV-Testeingabedatei auf dem PC einrichten, aufeinanderfolgende Beispiele an den Filtercode übergeben und eine CSV-Dateiausgabe sichern, die Sie überprüfen können.
Für beide...
Wenn Sie mit 0,05 Hz filtern, ist die Wahrscheinlichkeit groß, dass auch Ihre Samplerate relativ langsam ist. Mit einem Test-Harness können Sie diese Tests schneller als in Echtzeit ausführen, wodurch Ihr Testprozess effizienter wird.
quelle
Wenn Sie auch einen D / A-Wandler in Ihrem DSP-System haben, können Sie dieses extrem niederfrequente Signal in der Software erzeugen und an Ihren A / D-Eingang zurückführen. Alternativ können Sie eine D / A-Karte oder einen USB-Adapter verwenden, um das Signal zu erzeugen. Ein Beispiel für solche Geräte wäre LabJack, aber es gibt noch viele andere Geräte mit unterschiedlichen Preisen und Leistungsmerkmalen. Eine andere Möglichkeit wäre, einen billigen Mikrocontroller + DAC wie Raspberry Pi oder Arduino zu verwenden
quelle
Es gibt drei gute Möglichkeiten, die Filterantwort zu überprüfen: Eine ist eine Dirac-Delta-Funktion (eine Impulsfunktion oder ein kurzer Impuls), die andere ist ein Stufeneingang und die letzte ist ein Frequenzdurchlauf.
Mit den Instrumenten, die ich benutze, können die Experimente Wochen bis Monate dauern. Einige unserer physikalischen Systeme reagieren im Tagesbereich. Die beste Möglichkeit, diese Systeme und Filter zu überprüfen, besteht darin, eine Stufeneingabe zu verwenden und dann die Zeitkonstante zu messen. Wenn Sie sich an die Zeitkonstante für einen Spannungseingang erinnern, ist:
Quelle: http://mit6002.blogspot.com/2011/05/1011-parallel-rc-circuit-step-input.html
(Das Bild zeigt eine Stromquelle mit einem Parallelwiderstand, der einer Spannungsquelle mit einem Vorwiderstand entspricht.)
quelle
Sie könnten wahrscheinlich mit einem Potentiometer und einer Armbanduhr von Hand ein erträglich weiches 50-MHz-Signal erzeugen.
Alternativ können Sie die erwartete Sprungantwort Ihres Filters berechnen . Geben Sie Ihrer Hardware eine schrittweise Eingabe, indem Sie einen Schalter umlegen. Zeichnen Sie die Ausgabe über eine Minute oder so (wenn die Zeitbasis Ihres Oszilloskops nicht so langsam ist, nehmen Sie ein Multimeter auf und schreiben Sie die Messwerte jede Sekunde auf). Vergleichen Sie die gemessene Sprungantwort mit Ihrer Vorhersage. Wenn sie übereinstimmen (genau genug, da ADC / DAC / Timing-Ungenauigkeiten berücksichtigt werden), funktioniert Ihr Filter wie vorgesehen.
quelle