mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Signal integrieren


Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,


für Berechnungen benötige ich das Integral eines per AD-Wandler
aufgenommenen Signals. Die Integration sollte also kontinuierlich
ablaufen. Die direkte Verwendung eines diskreten Integrators wird über
die Zeit zu einem Weglaufen des Ergebnisses führen, ist also aufgrund
von Rechenungenauigkeiten inpraktikabel.
Ersatzweise könnte man ein PT1-System verwenden, büßt jedoch dadurch
wieder etwas Genauigkeit ein.

Wie würdet ihr an eine solche Problemstellung herangehen?


Alex

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein AD-Wandler ist immer diskret, also geht es doch nur um ein
Aufsummieren und eine Division durch die Anzahl der Samples? Kommen
negative Werte vor, dann müssen sie natürlich subtrahiert werden. Ein
Integral ist doch in diesem Fall die Summe der Flächen unter der Kurve,
also gleich Mittelwert der Amplituden durch Samplezahl.

Autor: Carsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da das Integral ist doch die Aufsummierung aller Samplewerte mal
1/f_abtast, oder lieg ich da falsch?
also die Fläche.

@Christoph: ich weiß nicht was das mit den Mittelwerten durch
Samplezahl soll?

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit ist voll bewusst, was ein Integral ist :-)

Ich möchte ein Eingangssignal (periodisch) quasikontinuierlich
integrieren und dann damit weiterarbeiten oder es z.B. wieder
ausgeben.

Ein zusätzlicher Ansatz wäre noch die Hilbert-Transformation, welche
90° Phasenverschiebung über alle Frequenzen liefert. Jedoch scheitere
ich dort an der nötigen Ordnung des Filters (zu wenig Rechenleistung
vorhanden).

Alle anderen Lösungen liefern mir die 90° nur für eine bestimmte
Frequenz.

Andere Ideen?

Autor: Thomas W. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, kannst du den Integrator villeicht regelmäßig resetten?

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist glaube ich keine Lösung ;-)

Autor: Christoph Kessler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
für einen Sinus wäre das Integral im Mittel Null, nur die letzte
angefangene Periode liefert einen Beitrag, das Integral gibt eine
überlagerte Gleichspannung an.
Was soll die Hilpert-Tranformierte da ändern? 90 Grad-Phasenschieber in
Analogtechnik arbeiten mit zwei Allpass-Serienschaltungen, sodaß an den
Ausgängen ungefähr 90 Grad Differenz auftritt. Die Schaltungen hat man
gern für "SSB (Einseitenband) nach der Phasenmethode" benutzt

Autor: Björn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was spricht gegen ein IIR-TP 1. Ordnung?

Oder mache es mit nem Simpson... je nach dem was du machen willst

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Christoph

Das Integral eines Sinus sollte -cos liefern.

Autor: Christoph Kessler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sag ich doch, -cos ist die Fläche der letzten angefangenen Periode. Alle
vorhergehenden Perioden liefern den Mittelwert Null, da beim DC-freien
Sinus die Fläche oberhalb der Nulllinie gleich der Fläche unter der
Nullinie ist. Das Weglaufen ist ein Zeichen für einen DC-Anteil, oder
eben der Rundungsfehler.

Autor: Christoph Kessler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Integrieren ist eine Tiefpassfilterung mit dem primitivsten
FIR-Filter, nämlich der Mittelwertberechnung, bei der alle Samples mit
der gleichen Gewichtung in die Rechnung eingehen. Wenn ältere Samples
schwächer eingehen und schließlich verschwinden, sollte ein Weglaufen
nicht passieren oder seh ich das falsch?

Autor: Björn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ne -cos is das Integral vom sin Das hat erst einmal nichts mit Grenzen
zu tun.

Autor: Christoph Kessler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und der cos variiert mit wachsender Zeit periodisch zwischen +1 und -1.
Wenn was wegläuft heißt das ja dass es über +1 oder unter -1 geht.
Alles was vor dem letzten (ansteigenden) Nulldurchgang war kann man
eigentlich vergessen.

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In der Praxis muss ein solches Gedächtnis nur vermieden werden.
Ansonsten sorgt ein Anfangswert dafür, dass meine Integration ewig
offsetbehaftet bleibt, da das Integral über den Sinus ja Cosinus + C
ist -> diese Konstante bereitet dann Probleme.
Ich möchte keine Mittelwerte bestimmen.

Autor: Björn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich frage noch einmal:
was spricht gegen Simpson?

http://de.wikipedia.org/wiki/Numerische_Quadratur

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm,

f((a+b)/2) ist in meinem Fall unbekannt.

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ist denn das Aufsummieren anderes als die Simpsonsche numerische
Integration. Wir teilen die Kurve mit dem AD-Wandler in Stücke und
summieren die Flächen zwischen je zwei benachbarten Messungen auf, vom
Startzeitpunkt t=0 bis zum aktuellen Zeitpunkt. Die Integrationszeit
wächst mit jedem neuen AD-Messwert.
Damit steigt das Gedächtnis natürlich ständig an. Ein besserer Ansatz
ist das FIR-Filter mit endlichem Gedächtnis, das die Eerinnerung an
frühere Messungen allmählich ausklingen läßt.
Anderer Ansatz: Ein analoger Integrator wird mit einem OP, und einem
RC-Glied gebaut, das ist anders betrachtet ein Tiefpaßfilter mit einer
Grenzfrequenz 1/(2Pi*RC). Ebenso hat ein gerechneter Integrator eine
Grenzfrequenz. Da wir immer länger aufsummieren wird auch diese
Grenzfrequenz immer niedriger

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenns nur so einfach wäre ...

Ein FIR-Filter müsste in meinem Fall etwa 100te Ordnung haben (dann
kann ich auch gleich in Hilbert-Filter nehmen), das ist nicht wirklich
praktikabel. Ein analoger Integrator arbeitet nur für eine Frequenz
wirklich gut, mein Signal kann Frequenzen von bspw. 20-500Hz enthalten,
wobei mit 10kHz abgetastet wird. Jede der Frequenzen muss im Idealfall
um 90° verschoben werden. Keines der Verfahren, die ich bis jetzt
gefunden habe, leistet diese Anforderung mit praktikablem Aufwand.

Autor: Carsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wo ist das Problem ein FIR-Filter 100ter Ordnung zu programmieren?

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist nicht das Problem - das Problem ist die begrenzte
Rechenleistung.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.