mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Frage zu einer sehr hohen Überabtastung


Autor: Thomas Ka (thomas_k502)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

kurze Frage zur Digitalen Signalverarbeitung. Gibt es einen gravierenden 
Nachteil, wenn man ein analoges Signal über einen ADC mit einer sehr 
hohen Abtastfrequenz abtastet, z.b. Faktor 1500? Grund der Frage : Ich 
habe eine ADC Karte für PC mit einer Abtastfrequenz von 30 MHZ, welche 
für rfid Anwendungen ausgelegt ist.  Damit möchte ich gerne ein 
Audiosignal einlesen. Danke für die Antworten.

Autor: fft (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das macht man bei der Delta-Sigma-Modulation sogar ganz und  gar gewollt 
und mit 1-bit Auflösung :-)

Natürlich geht es, wenn man weiß was man tut.

Autor: Sven B. (scummos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt halt sau viele Daten und du musst es danach tiefpassfiltern, um das 
hochfrequenten Rauschen zu entfernen. Außerdem sind ADCs die auf 
Geschwindigkeit optimiert sind tendentiell weniger genau. Ansonsten 
nicht.

Autor: Audiomann (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Wenn Ich diese Antworten lese, kommen mir die Tränen.

Besonder das hier:

"Gibt halt sau viele Daten und du musst es danach tiefpassfiltern,"

Mann, Mann, Mann ...


"Natürlich geht es, wenn man weiß was man tut."

und was muss man denn beachten, beim Überabtasten?

wo soll denn da das Problem sein?

Autor: Gerald M. (gerald_m17)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du vielleicht auch etwas Rauschen hast, kannst du durch die 
überabtastung sogar deine Auflösung erhöhen. Wenn ich mich recht 
erinnere pro Faktor vier 1Bit. Bei 1500facher übertastung also gut 5 Bit 
extra.

Autor: Sven B. (scummos)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Audiomann schrieb:
> Wenn Ich diese Antworten lese, kommen mir die Tränen.
>
> Besonder das hier:
>
> "Gibt halt sau viele Daten und du musst es danach tiefpassfiltern,"
>
> Mann, Mann, Mann ...

Was ist dein Problem?

Autor: fft (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Audiomann schrieb:
> Wenn Ich diese Antworten lese, kommen mir die Tränen.

Aha, die emotionale Seite oder wie?

Audiomann schrieb:
> "Natürlich geht es, wenn man weiß was man tut."

Soll ich dir dazu mehr erzählen was man dabei alles falsch machen kann 
bzw. was ich in dem Bereich schon alles gruseliges gesehen habe?

-> Einer, der sich als "Audiomann" bezeichnet, also eher im unteren 
Bereich der Frequenzskala zu Hause ist sollte vielleicht etwas 
vorsichtiger mit seinen qualitativ fragwürdigen Bemerkungen sein...  Nur 
so als Denkanstoss.

Autor: Sven D. (sven_la)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
fft schrieb:
> Soll ich dir dazu mehr erzählen was man dabei alles falsch machen kann
> bzw. was ich in dem Bereich schon alles gruseliges gesehen habe

Ja aber bitte erzähl es uns allen hier.

Autor: Audiomann (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
fft schrieb:
> also eher im unteren
> Bereich der Frequenzskala zu Hause ist
> Nur so als Denkanstoss.

Es geht nicht um die Lage der Frequenzskala sondern das Prinzip.
Und die beiden Kommentare sind einfach nichtssagend und falsch:

>Was ist dein Problem?
Es muss ERST tiefpassgefiltert werden und dann gesampelt und nicht so, 
wie es der "Helfer" einstreut.

Autor: Bernhard S. (gmb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Soll ich dir dazu mehr erzählen was man dabei alles falsch machen kann
>bzw. was ich in dem Bereich schon alles gruseliges gesehen habe?

Wäre nicht die schlechteste Idee. Vielleicht nicht gleich den ganzen 
Erfahrungsschatz auskippen, aber so ein paar Fallstricke benennen und 
ein paar Erklärungen dazu, ja das wär schon was.

>Es muss ERST tiefpassgefiltert werden und dann gesampelt

Naja. Beides ist irgendwo sinnvoll, das Filtern vorm Samplen ist immer 
sinnvoll um Aliasing zu vermeiden, und das digitale Filtern macht auch 
Sinn, um die Datenmenge zu reduzieren, ohne ein digitales Aliasing zu 
erzeugen. Einfach nur jedes soundso-vielte Sample nehmen faltet dann 
auch Signale, die vormals innerhalb Nyquist waren (und wenn es nur 
Rauschen ist) in tiefere Frequenzbereich runter.

Autor: MHz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei fast allen digitalen Oszilloskopen kann man einen "High resolution 
mode" einschalten, dabei wird genau das gemacht. Die Oszi-ADCs haben 
(meistens) gerade mal 8 bit, können dafür GS/s abtasten.
Mit Überabtastung (+Mittelung) kann man deshalb ein paar bits Auflösung 
in den langsameren Zeitskalen gewinnen.

Autor: Jürgen S. (engineer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Überabtastung ist - bis zu einem gewissen Punkt der Ineffizienz - 
eigentlich immer vorteilhaft.

Hier werden aber verschiedene Effekte durcheinandergeworfen:

Was Audiomann schreibt ist insofern richtig, als dass die 
Tiefpassfilterung auf die darstellbaren Frequenzen eingeschränkt werden 
muss. Daher ist der Vorschlag von Sven nur dann richtig, wenn eine 
Filterung nach der Wandlung mit speziellem Fokus auf die Wiedergabe 
erfolgt und trotzdem zuvor noch eine Anti-Alias-filterung stattgefunden 
hat. Sonst passiert das was Bernhard schreibt.

Machbar wäre z.B. eine Tiefpassfilter bei 50kHz und eine Abtastung von 
z.B. 200kHz aufwärts mit späterer Reduktion auf z.B. 20kHz, wenn man mit 
48kHz wiedergibt oder auch höher, wenn man mit 96kHz wiedergibt UND der 
Analogpfad filtert. Es muss also Aufnahme und Wiedergabe, bzw. der 
Anspruch an die Verarbeitung mit einbezogen werden.

Richtig ist auch, was Gerald schreibt: Je höher die Frequenzauflösung, 
desto besser kann dezimiert werden, um die Pegel-Auflösung zu erhöhen. 
Man braucht aber schon enorme Frequenzreserven, um auf relevant höhere 
Auflösungen zu kommen. Einfach mal mit Faktor 16 abtasten und dann 4 
Bits rausholen, wie es die Theorie scheinbar vorgibt, funktioniert 
praktisch nicht. Dazu das Beispiel des Sigma-Delta-Modulators:

Ja, das wird so gemacht aber so richtig kann man sich das beim Audio nur 
deshalb erlauben, weil die analogen Komponenten (Lautsprecher, Ohr) die 
dabei enthaltenen Fehler im oberen Bereich nicht gut darstellen können 
und selber noch Fehler produzieren.

Das ist der Grund, warum messtechnisch gesehen, die parallele Wandlung 
einerseits- sowie die "überhöhte" Überabtastung bei DSD-audio 
andererseits, von mathematisch deutlich höherer Qualität sind - im 
realen Vergleich mit den üblichen Audioformaten oft aber keine Vorteile 
raushörbar sind.

Mehr dazu:
Beitrag "1Bit Audio als Alternative zu PWM"

Es stellt sich also die Frage, ob die künstlich erhöhte Überabtastung, 
die der TE hier im Auge hat, für Aufnahme-Wiedergabe, oder für 
messtechnische Zwecke gedacht ist:

Ein abstaktes technisches Signalgemisch zwischen z.b. 10kHz und 20kHz 
bekommt man auch mit DSD512 oder 192kHz/24 Bit nur begrenzt genau 
abgebildet -
handelt es sich aber um Mikrofonsignale zur späteren Wiedergabe, dann 
machen die mechanischen Komponenten im Signalpfad so viele Artefakte im 
Vergleich zum echten Tonsignal, dass eine gute Soundkarte mit 
96kHz/24Bit und entsprechender Analogtechnik ausreicht, um das 
weitgehend unverfälscht zu übertragen.

Das Problem sind eben die Höhen:
http://www.96khz.org/oldpages/comparison48khzto384khz.htm
http://www.96khz.org/oldpages/comparison48khzand96khz.htm

Autor: Sven B. (scummos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Audiomann schrieb:
>>Was ist dein Problem?
> Es muss ERST tiefpassgefiltert werden und dann gesampelt und nicht so,
> wie es der "Helfer" einstreut.

Nein, dann hast du meinen Kommentar eben nicht verstanden. Wenn er mit 
30 MHz abtastet, wird es so gut wie kein Alias-Rauschen geben, selbst 
wenn man den analogen Tiefpassfilter weglässt (man sollte trotzdem einen 
hinbauen). Unabhängig davon ist es aber ratsam, nach dem Sampeln 
nochmal digital tiefpasszufiltern, weil es einen Haufen Rauschleistung 
aus dem ADC im Spektralbereich 48 kHz..15 MHz gibt, die man wieder 
wegkriegen muss.

: Bearbeitet durch User
Autor: Jürgen S. (engineer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt mal zum TE:

Thomas K. schrieb:
> Gibt es einen gravierenden Nachteil
Ja, wenn Du sehr viel Auflösung über Überabtastung rausholen willst, 
bekommst Du ein Linearitätsproblem.

1) Die Nichtlinearität jeder einzelnen Messung wird sich bei dem starkem 
analogen Rauschen, das man braucht, um die Auflösung zu tunneln, bzw das 
digitale Rauschen, das im anderen Fall vorlieg, durch das faktische 
Mitteln der überabgetasteten Werte nicht aufheben. Um das zu verbesseren 
brächte man ein Rauschmodell, oder eine gesteuerte Rauschquelle wie man 
das früher gemacht hat und eine Relinearisierung der einzelnen Werte, 
bevor sie in den Filter gehen.

2) Wandler, die auf diese hohen Frequenzen ausgelegt sind, sind ziemlich 
ungenau gegenüber den Audiowandlern.

Mit Bezug auf meinen Beitrag vorher, haut es also ohne eine aufwändige 
Entrauschung und Kalibierung hinten und vorne nicht hin, mit Faktor 1000 
abzutasten und sich dann per Dezimation diese 10 Bit reinzuholen. Schon 
der Filter wird das nicht bringen. Da kannst bei so einem System mit 
etwa 5-6Bit Bit echter zusätzlicher (nicht statistischer) Auflösung 
rechnen.

Ich habe das mit meinem Cyclone-IiV-FPGA-board gemacht: Die Wandler 
haben 250MHz und liefern runterdezimiert auf 500kHz (Ultraschall-App) 
gemessene 5 Bit (kalibiert). Als Audio-App bei 50kHz sollte man nochmal 
wenigstens 2 erwarten, es werden aber nur insgesamt 6.

Autor: Jürgen S. (engineer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven B. schrieb:
> Wenn er mit  30 MHz abtastet, wird es so gut wie kein Alias-Rauschen
> geben, selbst  wenn man den analogen Tiefpassfilter weglässt
> Unabhängig davon ist es aber ratsam, nach dem Sampeln
> nochmal digital tiefpasszufiltern, weil es einen Haufen Rauschleistung

Das widerspricht sich jetzt aber! Wenn Du die konkrete Menge an 
Fehlinformationen, die ohne einen Tiefpass vor der Wandlung aufgrund der 
hohen Abtastung als "gering" einstufst, dann kannst Du sie nicht im 
Folgesatz als "gross" einstufen.

Praktisch könnte man ja in der Tat eine nicht vorgefilterte 
Sigma-Delta-Wandlung durchführen und sie ungefiltert wiedergeben, weil 
die Aliasfrequenzen oberhalb 15Mhz umgeknickt werden, aber trotzdem 
überwiegend im Unhörbaren liegen. Bei der Wiedergabe könnte man sie mit 
einem Lautsprecher auch abgegeben und sie wären nicht zu hören.

Praktisch wird man das nicht tun, eben weil die so summierenden Fehler 
eben nicht gering sind.

Mit Bezug zu Deinem Vorschlag muss man es genau umgekehrt machen:

Zu allererst kann man die digitale Filterung nach der Wandlung 
weglassen. Man wird den TP vor der Sigma-Delta nehmen und eine weitere 
Filterung der Analogkette überlassen. Ein DSD-Signal kann man auf eine 
Leistungsstufe geben und sie direkt auf einen Lautsprecher knallen. Die 
noch enthaltene Rauschleistung dithert das Signal und mittelt 
theoretisch zu Null.

: Bearbeitet durch User
Autor: Sven B. (scummos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jürgen S. schrieb:
> Sven B. schrieb:
>> Wenn er mit  30 MHz abtastet, wird es so gut wie kein Alias-Rauschen
>> geben, selbst  wenn man den analogen Tiefpassfilter weglässt
>> Unabhängig davon ist es aber ratsam, nach dem Sampeln
>> nochmal digital tiefpasszufiltern, weil es einen Haufen Rauschleistung
>
> Das widerspricht sich jetzt aber! Wenn Du die konkrete Menge an
> Fehlinformationen, die ohne einen Tiefpass vor der Wandlung aufgrund der
> hohen Abtastung als "gering" einstufst, dann kannst Du sie nicht im
> Folgesatz als "gross" einstufen.

Nein, widerspricht sich nicht; der ADC selbst fügt ja nochmal ein 
Rauschen hinzu. Dieses Rauschen verteilt sich halbwegs gleichmäßig auf 
die Bandbreite des ADC. Das kriegst du nicht weg, indem du einen 
Tiefpass davor baust. Und es ist für große Bandbreiten relativ viel 
Rauschen.

> Praktisch könnte man ja in der Tat eine nicht vorgefilterte
> Sigma-Delta-Wandlung durchführen und sie ungefiltert wiedergeben, weil
> die Aliasfrequenzen oberhalb 15Mhz umgeknickt werden, aber trotzdem
> überwiegend im Unhörbaren liegen. Bei der Wiedergabe könnte man sie mit
> einem Lautsprecher auch abgegeben und sie wären nicht zu hören.
Außer es sind Alias-Frequenzen um 30 MHz vorhanden.

> Zu allererst kann man die digitale Filterung nach der Wandlung
> weglassen. Man wird den TP vor der Sigma-Delta nehmen und eine weitere
> Filterung der Analogkette überlassen. Ein DSD-Signal kann man auf eine
> Leistungsstufe geben und sie direkt auf einen Lautsprecher knallen. Die
> noch enthaltene Rauschleistung dithert das Signal und mittelt
> theoretisch zu Null.
Ja gut, wenn du es direkt wieder ausgibst über ein System mit 
Tiefpasscharakter dann ist es natürlich ok. Wenn du irgendeine Analyse 
auf den digitalen Daten machen willst, weniger. ...

Autor: Thomas Ka (thomas_k502)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

also erstmal danke für die vielen Antworten. Da ich noch sehr unerfahren 
in dem Bereich bin, freue ich mich sehr über eure Hilfe.
Das hat mich jetzt ein wenig umgehauen, da ich nach den ersten beiden 
Antworten schon abgeschaltet hatte. Ich verstehe in etwa was ihr mir 
sagen wollt. Allerdings weiß ich nun nicht genau, wie ich weiter 
vorgehen soll...

Am besten beschreibe ich das Problem genauer:

Das Audiosignal wird verwendet, um eine Zeitmessung einer kontaktlosen 
Transaktion (13,56 MHz) durchzuführen. Die Transaktion darf max. 100ms 
dauern und wird über die ADC Karte eingelesen. Das Audiosignal 
signalisiert das Ende der Transaktion. Nun wollte ich, um synchron zum 
mitgeschnittenen Dialog zu sein, das Audio ebenfalls einlesen, da die 
ADC Karte 2 Channel besitzt. Erwähnenswert ist, das ich die Frequenz des 
Beep-Signals kenne und dadurch eine aufwendige Filterung/digitale 
Signalverarbeitung vornehmen kann, sobald alle Daten gespeichert sind.
Eine Tiefpassfilterung vor dem ADC sollte weiterhin kein Problem sein. 
Der ADC besitzt weiterhin eine Auflösung von 14 Bit (1 Bit Überlauf und 
1 Bit Vorzeichen) für einen Dynamikbereich von +-5V. Wenn ihr also sagt, 
das es nahezu unmachbar ist, so vorzugehen, werde ich versuchen einen 
anderen Weg einzuschlagen. Es wäre für die Zeitmessung allerdings der 
beste Weg, da dadurch ein exaktes Ergebnis präsentierbar ist. Was mich 
wundert, ist, das ein Oszi das ja auch schafft, also sollte das Ganze 
doch umsetzbar sein...

Autor: Thomas Ka (thomas_k502)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ergänzung:

Ich sollte vielleicht noch erwähnen, das der Beep Ton durch eine einzige 
Frequenz angenährt werden kann (Vielfache außer acht). Ich muss sie im 
Zeitbereich also exakt detektieren können und kann ein mögliches Filter 
genau auf diese Frequenz abstimmen. Meiner Meinung nach sollte das doch 
machbar sein, nachdem das Signal den ADC durchlaufen hat...

Autor: Jürgen S. (engineer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven B. schrieb:

> Nein, widerspricht sich nicht; der ADC selbst fügt ja nochmal ein
> Rauschen hinzu. Dieses Rauschen verteilt sich halbwegs gleichmäßig auf
> die Bandbreite des ADC. Das kriegst du nicht weg, indem du einen
> Tiefpass davor baust. Und es ist für große Bandbreiten relativ viel
> Rauschen.

Doch, es ging um den Fehler, der man infolge des Weglassens des 
AA-filters vor der Wandlung bekommt. Dieser ist nach Deiner Darstellung 
einerseits vernachlässigbar klein, wenn man überabtastet und 
andererseits sei der grundsätzliche Wandlerfehler "massiv". Dem 
widerspreche Ich.

Den AA-Filter braucht es so oder so, wie es auch den 
Quantisierungsfehler in jedem Fall gibt. Mithin ist es ein Vorteil, dass 
sich der Fehler auf das größere Spektrum verteilt und die Filterung, die 
das Problem genau deswegen verkleinert, liegt ja am Ausgang immer vor. 
Es sein denn man macht den Fehler und hat kein Rekonstruktionsfilter 
ausreichender Bandbegrenzung gegen die 30MHz.

Autor: Sven B. (scummos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jürgen S. schrieb:
> Sven B. schrieb:
>
>> Nein, widerspricht sich nicht; der ADC selbst fügt ja nochmal ein
>> Rauschen hinzu. Dieses Rauschen verteilt sich halbwegs gleichmäßig auf
>> die Bandbreite des ADC. Das kriegst du nicht weg, indem du einen
>> Tiefpass davor baust. Und es ist für große Bandbreiten relativ viel
>> Rauschen.
>
> Doch, es ging um den Fehler, der man infolge des Weglassens des
> AA-filters vor der Wandlung bekommt. Dieser ist nach Deiner Darstellung
> einerseits vernachlässigbar klein, wenn man überabtastet und
> andererseits sei der grundsätzliche Wandlerfehler "massiv". Dem
> widerspreche Ich.

Ich verstehe aber nicht wieso. Das Signal hat wahrscheinlich kaum 
Signalenergie im Bereich über ein paar hundert kHz, und der Wandler hat 
in der Regel eine mehr oder weniger konstante Rauschleistungsdichte über 
das ganze Spektrum.

Autor: Jürgen S. (engineer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, aber es kommt auf das Verhältnis an. Warum nimmst Du dann, dass der 
Wandler soviel "Fehlenergie" beisteuert? Relevant ist ja infolge der 
immer vorhandenen Filterung immer nur der Anteil, den der Filter 
durchlässt. Also theoretisch nur das unterhalb der GF, praktisch auch 
einiges oberhalb derselben und speziell bei FIR noch einiges im Bereich 
des ripples im Stoppband.

Autor: Sven B. (scummos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jürgen S. schrieb:
> Ja, aber es kommt auf das Verhältnis an. Warum nimmst Du dann, dass der
> Wandler soviel "Fehlenergie" beisteuert? Relevant ist ja infolge der
> immer vorhandenen Filterung immer nur der Anteil, den der Filter
> durchlässt.

Das denke ich eben nicht. Der Wandler steuert selbst selbst, im Wandler 
drin, einen Rauschanteil bei. Du siehst ja auch was, wenn du den Eingang 
einfach nur terminierst. Diese Energie verteilt sich über das ganze 
Band.

Autor: Jürgen S. (engineer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist ein halbes digit zzgl Linearitätsfehler. (?)

Autor: Thomas Ka (thomas_k502)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich wollte die Sache hier noch einmal aufgreifen, da ich Ergebnisse 
erhalten habe. Die hohe Überabtastung hat keine großen Auswirkungen auf 
das Audiosignal gezeigt. Der ADC lieferte das selbe Ergebnis wie ein 
Oszilloskop, also wie erwartet. Das einzig kritische ist der Bias des 
ADC, den ich jedoch mit einem geringen Ausgangswiderstand der Schaltung 
sehr gut eliminieren konnte. Das Audiosignal wird als Messsignal 
ausgewertet, wesshalb ich nicht beurteilen kann, wie das Signal von der 
Qualität verändert wurde. Danke nocheinmal für die Unterstützung :)

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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.