Hallo zusammen, ich stehe aktuell vor folgendem Problem: Ich möchte gerne 12 Vollbrücken mit einer Bandbreite von 100 Hz auswerten. Dafür habe ich nur sehr begrenzten Bauraum. Da ich aufgrund von 50 Hz Einkopplungen Probleme mit der Anregung der Brücken per Gleichspannung haben werde, bin ich zu dem Entschluss gekommen einen Lock In Verstärker zu verwenden, mal ganz davon abgesehen das 1/f-Rauschen ebenfalls im Gleichspannungsbetrieb problematisch wäre. Ich stehe aktuell vor der Wahl diesen digital oder analog aufzubauen. Mir ist bewusst das aufgrund analoger Fehler (Temperaturdrift, Linearitätsfehler des analogen Mischens) die digitale Variante zu bevorzugen ist. Da mein Bauraum allerdings stark begrenzt ist, werde ich für die Digitalisierung aller Vollbrücken nur einen uC verwenden und nicht jede Brücke seperat digitalisieren können. Da ich wenig bis gar keine Erfahrung mit digitaler Signalverarbeitung habe, fällt es mir schwer abzuschätzen welche Taktfrequenz mein uC haben muss um 12 Signale mit einer abgetasteten Bandbreite von 200 Hz digital in Echtzeit zu mischen und zu filtern. Im Prinzip lässt sich ein digitaler Lockin Verstärker meinem Verständnis nach mit der Multiplikation des Messsignals mit einem Referenzsignal und einer anschließenden FIR Tiefpass Filterung konstruieren. Ich will wissen ob der zur Verfügung stehende uC (AN1115) ausreichend schnell ist oder ob ich aufgrund der zu niedrigen Taktung des uC die digitale Variante ausschließen kann. Meine konkrete Frage an die Community lautet daher: Gibt es eine Faustregel wonach ich abschätzen kann wie hoch meine uC-Taktung sein muss um meine 12 Vollbrücken in Echtzeit mit einem digitalen Lock-In-Verstärker zu verarbeiten ? Mein bisheriger Ansatz sah wie folgt aus: Um die Signale in Echtzeit auswerten zu lassen muss der uC in einem Taktzyklus alle 12 Vollbrücken erfassen und verarbeiten können => fmin = 1/t_Laufzeit wobei t_Laufzeit die Summe aller Rechenschritte des Algorithmus inklusive Wartezeiten, die durch den FIR-Filter oder aus anderen Gründen entstehen, beinhaltet. Die Trägerfrequenz sollte laut Literaturangabe Faktor 10 haben, daraus folgt: Trägerfrequenz = 1kHz Das vom Trägersignal modulierte Messsignal hat somit eine Frequenz von 1,1 kHz. Um alle 12 Messsignale auswerten zu können, müssen daher 1,1 kHz * 12 Samples/s ausgewertet werden können. Wie schon oben erwähnt habe ich leider keine Ahnung davon wie viele Rechenschritte notwendig wären einen solchen Algorithmus zu verarbeiten. Ich würde mich über jeden Hinweis/Tipp von euch freuen, Viele Grüße Marco D.
Wenn die Trägerfrequenz 1kHz haben soll, wird die Abtastfrequenz sicherlich bei 10-50 kHz liegen müssen. Es bleiben je nach Prozessor ca. 1000-10000 Takte übrig. Das dürfte für 12 Kanäle sehr knapp werden. Gibt es vielleicht etwas mehr Info, was du eigentlich machen willst ? Brücken mit 100 Hz Bandbreite sind schon recht sportlich. Welche Genauigkeiten sind dabei gefordert ?
Moin, Da sind noch viel zu viele Unbekannte drinnen, um da irgendwas abschaetzen zu koennen. Was muss denn der Tiefpass leisten, welche Durchlass-, Sperrcharakteristik, Wie siehts mit dem Phasengang/Gruppenlaufzeit aus? welche Genauigkeit? Wenns da schon in eine ordentliche Rechnerei ausartet: Kann man evtl. irgendwelche Tricks anwenden, um die Rechenlast zu senken? Was kommt denn noch nach den Tiefpaessen? Da wirds doch sicher eine weitere Verarbeitung geben: Da auch wieder welche Genauigkeit, was muss da gerechnet werden, z.B. Wurzeln, Logarithmen, trigonometrisches Gedoens? Gruss WK
Aktuell wird für die Auswertung der Brücken pro Vollbrücke eine Beckhoff El3356 Klemme verwendet. Deren Messfehler wird mit +- 0,01 %, bezogen auf den Messbereichsendwert von 12 V, angegeben. Meine Elektronik soll den Anforderungen nach diesen Messfehler einhalten. Gruppen-/bzw. Phasenlaufzeiten hab ich ehrlich gesagt zu wenig Ahnung von digitalen Filtern bzw. digitaler Multiplikation und wie viele Rechenschritte dafür notwendig sind, weshalb ich mich auch schwer tue abzuschätzen wie hoch mein Prozessor getaktet sein muss um die 12 Signale zu verarbeiten. Ich kann nur grob abschätzen das meine gesamte tolerierbare Latenz bei insgesamt 50 ms liegen darf. Ich hab jetzt mal mit einem Kollegen in Matlab mit der Filter Design Toolbox einen FIR Filter erzeugt. Matlab hat hierfür 4 Koeffizienten ausgespuckt was ich als etwas wenig empfinde. Jetzt habe ich allerdings keine Ahnung wie ich auf Basis der Filterkoeffizienten meine gesamte Verzögerung des digitalen Lock Ins (Rechenzeit der Mischung und Filterung plus Verzögerung aufgrund der Faltung von Signal und FIR Filter) berechne. Wirklich relevant ist für mich aber erst nur ob die Taktung des uC ausreicht für den Filter (Verzögerung durch Faltung ist erstmal zweitrangig). Nach dem Tiefpass werden die Daten mittels Ethercat Slave an den Ethercat Master weitergegeben der in Form einer echtzeitfähigen Matlab Simulink-Schnittstelle realisiert ist. Da der Ethercat-Bus Signale bis 100 MBit bei Zykluszeiten von 100 us erreicht sollte dies nicht mein Flaschenhals sein. Mir ist aktuell noch nicht klar wir ihr auf eine Abtastrate von bis zu 50 kHz kommt bei einer maximalen modulierten Frequenz von 1,1 kHz. Alles was drüber liegt wird vorher gefiltert. Mir ist bewusst das die Abtastung etwas höher als Nyquiest liegen muss, aber gleich so viel höher ? Ein weiterer Punkt der mir aktuell noch nicht klar ist: Warum ist bei einem digitalen Lock In eine hohe Auflösung des AD-Wandlers gefordert wenn ich mein Messsignal doch sowieso vorher noch mit einem Instrumentationsverstärker verstärke ? Bei einem analogen Lock in Verstärker wird es doch früher oder später auch i.d.R. digitalisiert. Nur das ich dort ein demoduliertes Signal digitalisiere. Das würde meinem Verstndnis nach nur eine höhere Anforderung an die Taktung des AD-Wandlers bedeuten. Außerdem ist mir nicht klar wieso bei einem analogen Lock In die Phasenverschiebung so kritisch sein soll wenn ich die Amplitude meiner Spannung unabhängig von meiner Phase mit dem IQ-Demodulation. Auswerten können soll. Gruß Marco D.
Moin, Hm. Also ich hab' so das Gefuehl, dass das irgendwie nix wird. Du kennst ja noch nicht mal deinen Namen. Naja, um was zum Thema zu schreiben: Aufm AVR hab' ich fuer ein Halbbandfilter mal mit 7 Takten fuer eine 8*8bit MAC Operation und 4 Takten pro Tap fuers "samples schieben" kalkuliert. Und der AVR ist ja nun nicht gerade als DSP praedestiniert. Fuer deine 0.01% Genauigkeit werden wohl 16bit Samplebreite passen. Musst halt gucken, was dein Prozessor draus fuer Assembler macht, wenn du ein 4 Tap FIR in der Programmiersprache deiner Wahl drauf implementierst. Ich wuerde aber mal mutmassen, dass da dein Ethercat-Sendegedoens einiges mehr an Rechenbumms brauchen wird. Gruss WK
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.