www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Sinusschwinung normalisieren


Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi @ all

Ich habe eine Signal abgetastet. Dieses besteht aus 700 Abtastwerten. 
Das Signal  besteht aus mehreren Sinusperioden, die unterschiedliche 
Amplituden haben. Nun möchte ich das Signal normalisieren (alle 
Amplituden gleich hoch). Jedoch weiß ich nicht wie ich es anstellen 
soll.

Könnt ihr mir einige Lösungsvorschläge geben.

Autor: Alex Bürgel (Firma: Ucore Fotografie www.ucore.de) (alex22) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf welcher Basis: Mikrocontroller? DSP? PC? Analoge-Schaltung wohl 
nicht...

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich würde erstmal die minimale oder die maximale Amplitude suchen 
und anschließend alle Minima bzw. Maxima auf diesen Wert bringen. Das 
Problem hierbei dürften allerdings die Zwischenschritten sein, denn 
irgendwo muss die Amplitude ja zu- oder abnehmen. Entwerder du belässt 
sie so, dann hast du allerdings einen höheren Klirrfaktor oder du 
interpolierst sie irgendwie.

Aber wenn ich mir das mal so überlege... wenn es ein sauberer Sinus ist, 
wieso dann überhaupt sowas machen, schließlich könntest du den Sinus 
dann ja selbst berechnen. Was genau ist also der Hintergrund für dein 
Vorhaben?

Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
µC oder PC

Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Anschließend muss ich eine FFT machen. Daher wird das Signal voher 
normalisiert.

Das mit der Maximumsuche ist zu ungenau. Es muss doch bessere Verfahren 
geben

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
wenn es eine sauberer Sin was macht dann die FFT für einen sinn, da kann 
man ja gleich den Abstand zwischen 2 Nulldurchgängen ermitteln und gut 
ist.

Autor: Bernd L. (berndl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Nun möchte ich das Signal normalisieren (alle Amplituden gleich hoch)

...

>Das mit der Maximumsuche ist zu ungenau. Es muss doch bessere Verfahren
>geben

Nein! Wenn du "alle Amplituden" gleich hoch setzen willst, ist die 
Maximumsuche und Skalierung mit den interpolierten reziproken Maxima die 
einzige Moeglichkeit und gar nicht ungenau, es findet bloss eine 
unnoetig starke Signalverzerrung statt, aber man kann nicht alles haben.

Es gibt andere, fuer die meisten Zwecke sinnvollere Definitionen der 
Normalisierung, aber die erfuellen nicht, wonach du fragst.

Autor: Bernd L. (berndl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>wenn es eine sauberer Sin was macht dann die FFT für einen sinn, da kann
>man ja gleich den Abstand zwischen 2 Nulldurchgängen ermitteln

Ein Signal "aus mehreren Sinusperioden, die unterschiedliche
Amplituden haben" hat nur sehr entfernte Aehnlichkeit mit einem 
monofrequenten Signal, selbst wenn Johannes Sinusperioden allesamt die 
gleiche Periodendauer haben sollten.

Autor: Norgan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Nun möchte ich das Signal normalisieren (alle
> Amplituden gleich hoch)
...
> Anschließend muss ich eine FFT machen. Daher wird das Signal voher
> normalisiert.

Nein. Ich weiß, dass Leute immer anfangen zu kotzen wenn man ihnen 
nahelegt sich nochmal die Grundlagen dessen was sie tun wollen anzutun 
und gar ein Fachbuch zu lesen (das Web ist keins). Ich sag's trotzdem: 
Schau dir mal die Grundlagen der Fouriertransformation, der diskreten 
Fouriertransoformation und der FFT in einem guten Fachbuch an.

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Anschließend muss ich eine FFT machen. Daher wird das Signal voher
>normalisiert.

Warum machst du die nicht vorher?

Da hast du doch danach deine Amplitudeninformation sauber vorliegen...

Autor: Bernd L. (berndl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Warum machst du die nicht vorher?

Was'n Quatsch! Johannes will das Signal erst nichtlinear verzerren, dann 
fouriertransformieren. Die FFT kann seine Verzerrung nicht ersetzen.

>Da hast du doch danach deine Amplitudeninformation sauber vorliegen...

Noch mehr Quatsch! Johannes hat ein aperiodische Signal. Und aus dessen 
Fouriertransformierter kannst du die Amplitudeninformation -wie auch 
immer du sie im Zeitbereicht definierst- genau gar nicht erhalten, es 
sei denn du bildest die invers Fouriertransformierte der 
Fouriertransformierten. Macht das Spass?

Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo wir wollen doch alle mach sachlich bleiben. Ich suche einfach nur 
nach einer Lösung. Ob es für eine Sinn mach oder nicht ist doch egal. 
Ihr wisst doch nicht was ich mit dem Signal mache. Mein Chef mein ich 
muss zuerst die Hüllkurve bilden und diese dann dividieren. Jedoch kann 
ich mir nicht vorstellen das dies damit geht

Autor: Bernd L. (berndl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich suche einfach nur nach einer Lösung

Wofuer? Wenn du alle lokalen Extrema auf einen normierten Wert skalieren 
willst, hast du doch schon eine Loesung vorgeschlagen.

>Mein Chef mein ich muss zuerst die Hüllkurve bilden und diese dann >dividieren. 
Jedoch kann ich mir nicht vorstellen das dies damit geht

Sag es ihm so. Er wird dir sicher gern seinen Platz anbieten, falls du 
recht behalten solltest.

Autor: Hans Wurst (hans_wurst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich bind zwar nicht "DER" Fachmann auf diesem Gebiet, aber so wie 
ich es verstanden habe, ist ja sein Problem, dass sein Sinus zwar die 
gleiche Zeitdauer hat, aber eben mit unterschiedlichen 
Gleichspannungsanteilen überlagert ist.

Ist es da nicht sinnvoll (bzw. ein Möglichkeit) sich mehrere, einzelne 
Sinusabschnitte zu suchen, dieses mit der FFT zu transformieren und dann 
alle Amplituden der Spektren so anzupassen, dass sie alle eine 
gleichhohe Gleichstromamplitude haben?

Nur so als Ansatz für neue Ideen.....

Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kann nicht einfach jeden Maxwert auf einen Wert bringen. Was soll 
ich mit den anderen Abtastwerten machen. Diese muss ich doch auch 
skalieren ansonsten wird das Signal doch verzerrt

Autor: Bernd L. (berndl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich kann nicht einfach jeden Maxwert auf einen Wert bringen. Was soll
>ich mit den anderen Abtastwerten machen. Diese muss ich doch auch
>skalieren ansonsten wird das Signal doch verzerrt

Das, wonach du fragtest, ist eine Verzerrung. Vielleicht erklaerst du 
einmal, was dein Ziel ist und nicht, wie du es erreichen willst.

Es sieht danach aus, dass du eine FFT mit begrenztem Dynamikbereich 
berechnen willst. Dafuer ist der Vorschlag deines Chefs die beste 
Loesung, aber die lehnst du ja ab.

Ich wuerde sagen, Norgan hat es oben auf den Punkt gebracht.

Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso lehne ich diese ab. Ich weiß blos kann mir das blos nicht bidlich 
vorstellen. Zudem habe ich die Probleme die Hüllkurve zu bilden.

Autor: Bernd L. (berndl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wieso lehne ich diese ab.

Ist das eine Frage? Weil du schriebst: "Jedoch kann ich mir nicht 
vorstellen das dies damit geht"

>Ich weiß blos kann mir das blos nicht bidlich vorstellen.

Du meinst "Jedoch kann ich mir nicht vorstellen wie dies damit geht"?
Es ist auch nicht moeglich, dir was bildlich zu erklaeren, weil du weder 
dein Problem annaehernd hinreichend beschrieben hast, noch einen 
Screenshot der Daten um die es geht oder aehnliches geliefert hast. Wenn 
du die Antworten oben gelesen haettest, waere die aufgefallen, dass 
manche deine abenteuerliche Beschreibung des Signals als variierende 
Offsets oder -warum auch immer- als harmonisches Sinussignal 
interpretieren.

>Zudem habe ich die Probleme die Hüllkurve zu bilden.

Warum? Laesst dich dein Chef ein Problem loesen, von dem er selbst keine 
Ahnung hat? Ist dein Algorithmus instabil? Weisst du nicht, welchen 
Algorithmus du verwenden sollst? Hast du Normans Rat befolgt? Liste mal 
auf, welche Quellen du zum Thema Huellkurve gesichtet hast. Und wenn 
mikrokontroller.net deine einzige Quelle ist, dann gehab dich wohl.

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.