Mögliche Quelle für Signalrauschen finden

Gast #891218
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
Gast #891619
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.
Gast #891785
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 ...
(Firma: Devel Solutions) #891809
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
Gast #891835
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
Gast #891844
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
(Firma: Devel Solutions) #891872
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
Gast #891936
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
Gast #891954
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
(Firma: Devel Solutions) #892034
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!
Gast #892068
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.
Gast #892141
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
Gast #892312
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.
Gast #892642
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
(Firma: Devel Solutions) #892860
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren