mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP FFT eines pseudo-periodisch forgesetzten Sinus-Signals


Autor: Sebastian B. (mircobolle)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo erstmal,

Kurz was zu meinem System:
- das System kann beliebige Analogwerte am DAC ausgeben.
- die Analogwerte werden alle 10 ms ausgegeben.
- die Daten gelangen über RS232 vom PC ins System und werden dort im 
EEPROM abgelegt.

Was habe ich getan?
Ich habe in Excel eine Sinus-Periode erzeugt, habe die Werte exportiert 
(als TXT mit Tabstopp) und habe die Daten ins System übertragen.
Nun habe ich die Abarbeitung gestartet -> siehe Oszi Bild

Das funktioniert auch soweit.

Nun habe ich ein Funktion eingebaut, die mir das Signal periodisch 
fortsetzt.

Was passiert nun?
Am Oszilloskop entsteht ein pseudo Sinus-Signal.


Nun meine Frage:
Ich will die Qualität dieses Signals nun auswerten. Ich bin nun so 
vorgegangen, dass ich über ein gewisses Zeitfenster das SIgnal 
aufgenommen und mit Hilfe des Oszi eine FFT durchgeführt habe.

Bei der Auswertung ergab sich ein Peak bei ca. 1.7 Hz was der Frequenz 
des generierten sinus entspricht.
Neben diesem Peak ist nur durchgehend "rauschen" zu erkennen, demnach 
sind alle anderen Frequenz gleich stark vorhanden.

Lässt sich anhand des 2. Oszi Bildes (das gleich folgt) eine Aussage 
über die Qualität treffen?

Vielen Dank!

MFG
sebastian

: Verschoben durch Admin
Autor: Sebastian B. (mircobolle)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hier die FFT Auswertung ...

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst das SNR (Signal to Noise Ratio) ausrechnen, wenn du den 
Abstand zwischen Peak und Rauschen ausmisst. Je größer dieser Abstand 
ist, desto besser das Signal.
Aber selbst wenn du das Rauschen wegbekommst, wirst du noch einige Peaks 
sehen, da du keinen Tiefpass Filter hinter dem DAC hast. Man sieht auf 
dem ersten Bild schön die einzelnen Samplewerte.

Autor: Sebastian B. (mircobolle)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Benedikt K. wrote:
> Du kannst das SNR (Signal to Noise Ratio) ausrechnen, wenn du den
> Abstand zwischen Peak und Rauschen ausmisst. Je größer dieser Abstand
> ist, desto besser das Signal.
> Aber selbst wenn du das Rauschen wegbekommst, wirst du noch einige Peaks
> sehen, da du keinen Tiefpass Filter hinter dem DAC hast. Man sieht auf
> dem ersten Bild schön die einzelnen Samplewerte.

Danke!

SNR ist eine gute Idee.

Stimmt hinter den DAC muss noch ein TP der mir das Signal glättet.

Mir gings hier in erster Linie darum heraus zu finden ob:
- meine interne Sequenz-Routine deterministisch arbeitet
- der DAC mit SPI Anbindung korrekt funktioniert
- und das Laden der Daten aus dem EEPROM deterministisch ist

das ganze sollte sich dadurch auszeichnen, dass immer das gleiche Signal 
herauskommt.

(hier noch ein bild vom Excel Sinus Signal: zum vergleich)

Autor: Thomas B. (detritus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst für eine bestimmte Bandbreite ein S/N-Verhältnis ausrechnen, 
aber ob dir das weiterhilft...

Wenn das besser werden soll, kann man mit Bandpass oder Noiseshaping was 
machen.

Autor: T. H. (pumpkin) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Benedikt K. wrote:
> Du kannst das SNR (Signal to Noise Ratio) ausrechnen, wenn du den
> Abstand zwischen Peak und Rauschen ausmisst. Je größer dieser Abstand
> ist, desto besser das Signal.
> Aber selbst wenn du das Rauschen wegbekommst, wirst du noch einige Peaks
> sehen, da du keinen Tiefpass Filter hinter dem DAC hast. Man sieht auf
> dem ersten Bild schön die einzelnen Samplewerte.

Genau das. Den Wert der Messung kannst du dem theoretischen Wert 
gegenüberstellen (SNR durch endliche Auflösung vom DAC). Weichen diese 
Werte sehr voneinander ab liegts entweder an der Messung, am Equipment 
oder an deinem Aufbau/deiner Software. Sinnvoll ist auf jeden Fall der 
von Benedikt angesprochene Filter.

Autor: Michael Lenz (hochbett)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

das theoretisch beste SNR beträgt bei Vollaussteuerung mit einem Sinus:

6dB * [Bitzahl des AD-Wandlers]

Wenn Du nur halb aussteuerst, fällt ein Bit (entsprechend 6dB) weg.

Genaueres bei Wikipedia unter dem Thema Quantisierungsrauschen. Die 1,76 
dB, die bei Wikipedia in der Formel drinstehen, sind in Ordnung. Sie 
berücksichtigen, daß ein voll ausgesteuerter Sinus statistisch gesehen 
häufiger betragsmäßig kleine als große Werte annimmt.


Freundliche Grüße
Michael

Autor: Sebastian B. (mircobolle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Michael,

danke für die Information.

Ich werde mir den Artikel bei wikipedia unter dem genannten Stichwort 
mal durchlesen.

Der Vollständigkeit halber noch die Informationen zum DA-Wandler:

- mit seiner aktuellen Referenzspannung von 4.096 V hat er auch bei 
Vollaussteuerung 4.096 V am Ausgang, der entsprechende Digitalwert 
beträgt 0x0FFF - 4095. Es ist ein 12-Bit DA Wandler.

nach deiner Formel wäre also ein maximaler SNR von

6dB * 12 Bit = 72 dB zu erreichen. ?
(Ist das nicht sehr viel, also 72 dB ?)

Wenn ich nun noch einen Tiefpaß an den DA-Ausgang hänge, umwieviel 
besser wird dann das SNR? oder kann man so nicht abschätzen. Sprich: 
Erst wieder FFT und dann Peak zu Rauschen auswerten?

Wenn ich die SNR aus dem FFT-Plot auswerten müsste, würde ich sagen, 
dass Verhältnis von Signal zu Rauschen wäre hier 4 zu 1.8.

Also SNR=2,2 , also etwa 3.4 dB

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.