mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik Mögliche Quelle für Signalrauschen finden


Autor: Marcusius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin Leuts.

Ich betreibe eine Signalerfassungkette dessen Ergebnis ich mir auf dem 
Monitor ansehen kann.

Sensor ---> I/U-Wandler ---> ADC ---> DSP ---> MAX23 ---> PC (LabView 
zur Darstellung)

Ich nehme von meinem Sensor ca. 3000 Werte und stelle mir auf dem 
Monitor mit Hilfe von LabView eine FFT dar. Das Sensorsignal selbst ist 
DC. Im Spektrum sind allerdings deutlich zwei Peaks bei ca. 34kHz und 
bei ca. 16kHz zu sehen.
Nun meine Frage: Wo könnte das herkommen? Folgende Komponenten habe ich 
auf meinem Board:

MAX232 mit 28.800Baud
25MHz Quarz für DSP, DSP läuft intern mit 125 MHz
1x DSP (TI 320F2810)
1x ADC (Abtastfrequenz 95kHz, 16Bit +/-5V Range)
7x DAC (Daisy-Chain)
zahlreiche OPV und 2x IN-AMP.

Mich wundert es, dass ich diese Peaks auf einem Oszi mit FFT am 
ADC-Eingang nicht sehe.
Vielleicht habt ich ja ein paar Tipps für mich.

Grüße
Marcusius

Autor: Martin Laabs (mla)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frequenz der Ladungspumpe vom MAX232, Taktsignal für ADC oder DAC, 
Aliasingsignal welches entsprechend weiter "oben" zu suchen ist (Clock, 
SPI-Takt etc.pp), Programmierfehler der Kurzzeit-FFT (Stichwort 
Fensterung)

Viele Grüße,
 Martin L.

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

Bewertung
0 lesenswert
nicht lesenswert
ca. 31 kHz ist auch die Horizontalfrequenz eines VGA-Monitors, die ist 
sehr niederohmig und stört immer.

Autor: Georg Bauerfeind (Firma: Devel Solutions) (shorsh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christoph Kessler wrote:
> ca. 31 kHz ist auch die Horizontalfrequenz eines VGA-Monitors, die ist
> sehr niederohmig und stört immer.

Eine niederohmige Frequenz? klingt spannend, was kann man sich darunter 
vorstellen?

Autor: JensG (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es nur ca. 16kHz ist, dann könnte es auch genau 15625 Hz sein, was 
die Horizontalfrequenz eines normalen Röhrenfernsehers ist. Vielleicht 
steht so ein Teil irgendwo in der Nähe aktiv herum ...

Autor: Georg Bauerfeind (Firma: Devel Solutions) (shorsh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Mich wundert es, dass ich diese Peaks auf einem Oszi mit FFT am
> ADC-Eingang nicht sehe.
> Vielleicht habt ich ja ein paar Tipps für mich.

Heißt das du hast ein FFT-fähiges Oszi und das zeigt diese peaks nicht?
Wenn ja, dann würde ich den Fehler in d. programmierung suchen. Das nach 
dem Oszi dein Signal noch irgendwie gestört wird ist unwahrscheinlich. 
Zumindest sollte dann dein Oszi dann auch diese Störfrequenzen anzeigen.

Nimm doch mal einen Datensatz und mach die FFT mit LabView. Dann kannst 
du erstmal überprüfen ob dein Algorithmus das macht was er soll.
Was hast du für eine Fensterung genommen?

gruß Georg

Autor: Marcusius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Christoph
Vom Monitor kommt es leider nicht. Den habe ich eben ausgeschaltet und 
mir die Sachen auf meinem TFT angesehen.

@Martin L.
Wenn durch den Seriellen Treiber Fehler entstehen, wo kann ich da Filter 
(z.B. LC-Filter) einsetzen?
Zwischen DSP und MAX232 oder MAX232 und PC?


Marcusius

Autor: Georg Bauerfeind (Firma: Devel Solutions) (shorsh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Georg Bauerfeind wrote:
>
> Wenn ja, dann würde ich den Fehler in d. programmierung suchen. Das nach
> dem Oszi dein Signal noch irgendwie gestört wird ist unwahrscheinlich.
 ich meine natürlich nach dem ADC, sorry

Autor: Marcusius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Georg:

Ich habe ein Tektronix TDS2012. Da schaue ich mir eine FFT an 
(Messspitze direkt am Eingang vom ADC) und kann keine Peaks sehen.

In LabView schaue ich mir dann 3000 Messwerte an und mache eine FFT 
damit und sehe die besagten Peaks. Fenster jeweils Hanning.

Kann es sein, dass diese Peaks Aliasingfehler sind?

Marcusius

Autor: Georg Bauerfeind (Firma: Devel Solutions) (shorsh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Kann es sein, dass diese Peaks Aliasingfehler sind?

Sofern du keinerlei Tiefpassfilterung vornimmst (entweder mit nem 
diskreten TP im analog-teil deiner Schaltung oder digital vor der FFT, 
zb. mit FIR-Filter) ja.
Also es ist wichtig dass die FFT immer von einem Bandbegrenztem Signal 
durchgeführt wird. Es ist sicher denkbar, dass dein Oszi eine solche 
Bandbegrenzung eingebaut hat. Wenn du keine hast, dann kannst du ja 
schnell mal einen einfachen RC-Tiefpass vor deinen ADC hängen und 
nachschauen was passiert. Für die meisten sachen ist der

http://de.wikipedia.org/wiki/Tiefpass#Tiefpass_1._Ordnung

schon völlig ausreichend. Den Verlust an Signalamplitude kannst du dann 
später mit einer aktiven Version ausgleichen. Aber für Testzwecke 
probier erstmal die passive Variante.


Theoretisch kann auch noch ein Baudratenfehler durch die Anbindung des 
MAX232 an den DSP auftreten (zumindest war das bei falscher Taktung 
eines Atmel AVrs so). Die Fehlerrate der UART von deinem DSP findest du 
sicher im Datenblatt.
Ich hab grad keine Zeit mich durchs Datenblatt zu klicken, vllt. guckst 
du selber mal ob du was findest.

georg

Autor: Marcusius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Georg

Vor dem ADC-Eingang befindet sich ein RC-Filter (49R9, 1uF).
Ich habe eben in die RX- und TX-Leitung MAX<-->PC je einen 
Serienwiderstand eingebracht. Nun habe ich Peaks bei ca. 8,7kHz, 17,5kHz 
und einen kleineren bei 26kHz.

Das hat wohl etwas bewirkt. Sind SMD-Ferrite an der Stelle geeigneter 
zusammen mit einem C gegen Masse?

Marcusius

Autor: Marcusius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe eben mit dem Oszi noch einmal gemessen.
Dort sieht man die Peaks doch. Sehen etwas breitbandiger aus. Daher habe 
ich sie zunächst übersehen.
Also: Peaks bei 8,7kHz, 17,5kHz 26kHz. Vor dem ADC-Eingang nach 
Filterung mit RC-Tiefpass (siehe oben). Der RC-Filter bringt also 
nichts?! ODer noch ein SMD-Ferrit in Reihe zum Widerstand?

Marcusius

Autor: Georg Bauerfeind (Firma: Devel Solutions) (shorsh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marcusius wrote:
> Filterung mit RC-Tiefpass (siehe oben). Der RC-Filter bringt also
> nichts?! ODer noch ein SMD-Ferrit in Reihe zum Widerstand?

Doch bringt er, deine 26kHz werden zb. fast um 20dB gedämpft.
Bevor du anfängst dich in wilden Filterorgien zu verheddern würde mich 
mal interessieren warum du überhaupt von einem "DC-Signal" eine FFT 
machst? Was ist denn überhaupt Sinn und Zweck dieser ganzen Übung?
Was ist das für ein Sensor?
Was ist falsch mit dem Spektrum, dein ermitteltes stimmt doch mit dem 
auf dem Oszi überein, also alles gut oder?

Eine Induktivität in Reihe zum Widerstand bringt weitere Bedämpfung 
höherer Frequenzen und führt zum TP 2. Ordnung...

ABER die Frage deshalb erstmal, was möchtest du überhaupt messen? Warum 
willst du die Frequenzen die da sind nicht sehen?

grüße Georg!

Autor: Martin Laabs (mla)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Finde erst mal die Quelle der Störung. Schau mit dem Oszi nach ob sie 
vor dem Tiefpass mit höherer oder niedriger Amplitude erscheinen. Schau, 
wo in deinem System die niedrigste Frequenz welche Du gemessen hast 
auftaucht. (Der Rest sind vermutlich Harmonische).
Wenn sie vor dem Filter stärker sind als dahinter kommen sie von extern. 
Dann musst Du dort suchen. Ansonsten wird das Signal wohl irgendwie über 
den digitalen Teil in den ADC gelangen. Das entsteht meistens durch ein 
schlechtes Layout und dort insbesondere der niederohmigen Anbindung von 
den GND-Pins.

Aber bevor ich das alles machen würde, würde ich erst mal den MAX232 
temporär abschalten und nachsehen ob dann alles gut ist.

Viele Grüße,
 Martin L.

Autor: Marcusius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Georg:

Nun, die 3000 Werte werden gemittelt. Ich wollte mir nur einmal das 
Rohsignal ansehen und dabei bin ich auf die Peaks gestoßen. Der 
Mittelwert dürfte doch genauer (d.h. Standardabweichung geringer 
werden), wenn die Peaks verschwinden, oder? Bzw. das Rauschen allgemein 
abnimmt.
Bei dem Sensor handelt es sich um eine Elektrode (Clark-Typ) mit 
Polarisationsspannung.

Beim PCB-Layout habe ich mich an die Vorgaben von Analog gehalten. AGND 
getrennt von DGND. Innere Lage als Massefläche. Und sonst auch alle Cs 
usw. gesetzt.
Den MAX kann ich nicht abschalten, denn dann funktioniert mein Board 
nicht mehr. Eine Kommunikation mit einem PC ist erforderlich.

Grüße
Marcusius

Autor: Oszi40 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum sucht Ihr immer nur in diese eine Richtung ?

a) Evtl. bringt eine andere räumliche Anordnung schon neue Erkenntnisse?
b) Ob  Marcusius schon mal eine anderes Labornetzteil als 
Spannungsquelle versucht hat ? Auch Schaltnetzteile sind manchmal 
interessante Fehlerquellen.

Autor: Martin Laabs (mla)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst dem MAX abschalten und mit dem Oszi nachgucken ob die Störung 
immer noch da sind. Wenigstens kannst Du die Frequenz vom der 
Ladungpumpe messen und vergleichen...
Ansonsten ist es manchmal gar nicht so gut die Masseflächen zu trennen 
weil der "Analogstrom" u.U. zum "Digital-GND" fließen muss. Da gibt es 
eine gute Application Note von Analog oder Linear zu.

Martin

Autor: Georg Bauerfeind (Firma: Devel Solutions) (shorsh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ansonsten ist es manchmal gar nicht so gut die Masseflächen zu trennen
> weil der "Analogstrom" u.U. zum "Digital-GND" fließen muss. Da gibt es
> eine gute Application Note von Analog oder Linear zu.

@Martin
Ja, nur ist das doch nicht weiter problematisch, da der digital teil 
relativ "robust" ist, gegenüber den Analogsignalen. Viel störender ist 
der doch der Fakt, dass die Ströme über dem digitalen Schaltungsteil auf 
den analogen einkoppeln, bzw. die Ströme durch die endliche kleine 
Impedanz des GNDs zu Potenzialverschiebungen von eben diesem führen und 
dafür sorgen dass exaktes messen z.b. mit A/D Wandler nicht mehr möglich 
ist.

@Marcusius

In welcher Intensität treten denn deine "Peaks" auf? Wie ist der Sensor 
an das Board angekoppelt? Geschirmtes/verdrilltes Kabel... Kabel sind ja 
immer recht verdächtig wenn es um sowas geht^^

g
georg

Autor: Randy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Beim PCB-Layout habe ich mich an die Vorgaben von Analog gehalten.
> AGND getrennt von DGND.

Analog schreibt allerdings auch folgendes:
http://www.analog.com/library/analogDialogue/Anniv...
Ich hab selber keine genauen Erfahrungen mit getrennten Grounds, bin 
eher ein Jünger der Alles-auf-eine-durchgängige-Massefläche Religion.

Randy

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.