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.
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?
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
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.
>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.
>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.
> 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.
>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...
>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?
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
>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.
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.....
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
>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.
>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.