Rekonstruktion eines Messignals

Gast #6045942
Guten Abend zusammen, ich habe folgende "Problemstellung"

- Mein AD Wandler Sampelt mit 200 kSps
- Mein Signal ist ein Sinus mit 1 V 180 kHz, Nyquist-Shannon ist also 
eingehalten.

Wenn ich jetzt Sample, und das ganze visualisiere, dann habe ich 
standardmäßig eine Lineare Interpolation (bei Excel) der Messwerte. Wie 
aber kann aber das Signal möglichst detailgetreu rekonsturieren, sodass 
es eben wie ein richtiger Sinus aussieht? Wie macht man so etwas in der 
Praxis?

VG Bernd
Gast #6045977
>Wie aber kann aber das Signal möglichst detailgetreu rekonsturieren, sodass
>es eben wie ein richtiger Sinus aussieht?

Ich glaube - GLAUBE - das geht gar nicht, ohne zu wissen, welcher Art 
das Ausgangssignal war denn

1.) könnte es ja auch ein periodisches Signal gewesen sein, dass zu den 
gesampelten Momenten zufällig die selben Werte hat, wie ein Sinus

2.) ich denke, das Shanon-Theorem bewart einen nur davor, dass man 
Urpsungssignale mit ganzen Vielfachen der Ursprungsfrequenz annehmen 
kann.
Ich meine - MEINE ;> - das wenn man z.B. einen Sinus genau mit der 
doppelten Samplingrate seiner Frequenz aufnimmt, man nicht weiß, ob der 
Sinus den man in die Messwerte hineininterpretiert "eben diese Frequenz" 
oder "eben diese Frequenz * 2" hatte


Gefährliches Halbwissen - bin sehr gespannt auf weitere Antworten :)
Gast #6045988
Also entsprechend des Theorems hätte ich gesagt, dass Sinussignale immer 
rekonstruierbar sind, wenn ich mehr als 2 Messwerte pro Periode habe 
(Nyquist) und die Amplitude des Signals kenne. Letztendlich erkenne ich 
anhand der Messwerte welche Frequenz das Signal hat und kann darüber 
doch die Sinusfunktion als Stützfunktion legen.
#6045989
Entweder du addierst diese sinc-Reihe, oder (ich glaube das ist 
einfacher) du upsampelst es mit FFT. Also RFFT berechnen, soviele Nullen 
anhängen wie du möchtest (um so viel wird das Ergebnis dann 
"verfeinert"), rücktransformieren, fertig.
#6046001
Hier ein Beispiel für das FFT-Upsampling durch Zero-Padding, die 
Normierung stimmt nicht ganz. Ist eigentlich ein Sinus -- der Fehler 
entsteht durch die Randbedingungen.

Wenn du weißt, dass es ein Sinus ist, bekommst du mit dem Fit eines 
einzelnen Sinus genauere Ergebnisse.
Angehängte Dateien:
#6046006
Meseeks schrieb:
>>Wie aber kann aber das Signal möglichst detailgetreu rekonsturieren, sodass
>>es eben wie ein richtiger Sinus aussieht?
>
> Ich glaube - GLAUBE - das geht gar nicht, ohne zu wissen, welcher Art
> das Ausgangssignal war denn
>
> 1.) könnte es ja auch ein periodisches Signal gewesen sein, dass zu den
> gesampelten Momenten zufällig die selben Werte hat, wie ein Sinus

Dann hast du aber das Shannon-Theorem verletzt.

> 2.) ich denke, das Shanon-Theorem bewart einen nur davor, dass man
> Urpsungssignale mit ganzen Vielfachen der Ursprungsfrequenz annehmen
> kann.

Nö. ;)
Gast #6046022
Wie sieht das denn aus, wenn ich mehrere Frequenzanteile innerhalb eines 
Signals habe ? Klappt dann die FFT, Zeropadding , Fensterung und die 
Rückrechnung dann immer noch?
Gast #6046024
Du kannst den sinus dann drüberlegen. Aber er ergibt sich nicht aus den 
Messwerten, sonder ist implizit bekannt. Wenn du kleiner als 2 bist, 
passen auch andere Frequenzen.
#6046159
AD schrieb:
> Wenn ich jetzt Sample, und das ganze visualisiere, dann habe ich
> standardmäßig eine Lineare Interpolation (bei Excel) der Messwerte. Wie
> aber kann aber das Signal möglichst detailgetreu rekonsturieren, sodass
> es eben wie ein richtiger Sinus aussieht? Wie macht man so etwas in der
> Praxis?

Du hast das Rekonstruktionsfilter vergessen, ein Tiefpass. Idealerweise 
ein idealer Tiefpass. Den gibt es praktisch nicht, also ein "guter" 
Tiefpass der oberhalb der Abtastfrequenz abschneidet.

Zero-padding alleine reicht nicht, nicht bei Signalen mit beliebiger 
Form. Für korrektes Upsampling brauchst du schon einen Tiefpass.

Einfach einen Sinus mit bekannter Frequenz und Amplitude drüber legen 
weil man weiß das er es ist ist unsinnig. Wenn man weiß was es ist muss 
man nicht mehr messen.
Gast #6058502
Ich bins wieder, ich habe jetzt folgendes Messignal. Dieses würde ich 
nun gerne über die FFT, Fensterung, Zeropadding und wieder 
zurückrechnen.

Ich hattte mir überlegt es in Matlab zu realisieren, bin darin aber noch 
recht neu. Habt ihr Tipps dazu oder ggf. Vorlagen wie dies gemacht wird? 
Ich hatte bereits nach Lösungen im Netz gesucht, bisher waren die aber 
alle noch nicht zielführend.
Gast #6058506
Auf der angefügten Abbildung ist das Signal als Graph und einmal als 
Rohdateoi hinterlegt. Die erste Spalte ist der Zeitstempel in Sekunden, 
die Spalte 2 und 3 sind die jeweiligen Messdaten. Allerdings ist 
zunächst die dritte Spalte zu vernachlässigen. Ich würde gern ersteinmal 
das Signal der zweiten Spalte bearbeiten.
Angehängte Dateien:
Gast #6058508
Irgendwie habe ich wohl was beim hochladen des Graphen falsch gemacht, 
sollte jetzt klappen. Tut mir leid für die Doppelposts, kann diese 
allerdings leider nicht editieren, da ich wohl nicht registriert bin.
Angehängte Dateien:
Gast #6058623
Oh das schaut richtig gut aus. Ja ich weiß die Eigenschaften der Messung 
(Samplefrequenz etc.) weicht von den Angaben oben ab. Es handelt sich 
auch nur um eine Testmessung. Hast du die Ergebnisse über Matlab 
berechnet ?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 6 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.