Forum: Mikrocontroller und Digitale Elektronik Audio ADC - DAC mit Mega8


von Martin (Gast)


Lesenswert?

Hallo,

ich will für eine Studienarbeit einen Sprachcodec mit dem Mega8
Aufbauen, der ein (bandbegrenztes) Sprachsignal mit dem Eingebauten ADC
digitalisiert und anschließen das originalsignal wieder herstellen soll
durch einen DA Wandler. Die abtastrate soll einstellbar sein, aber
mindestens 8 kHz betragen. Als ADC Auflösung bieten sich die vom
Controller ADC erzeugten 8 Bit an.

So nun meine Frage(n):

Ist eine Spracherfassung überhaupt mit einem Atmel Prozessor möglich
oder habe ich irgend etwas auser acht gelassen?

Sind zusätzlich auch digitalfilter auf Softwarebasis möglich oder ist
der Prozessor dafür zu langsam (hat jemand schon mal einen Filter
geschrieben? )?

Wie kann ich einen DA Wandler an den Mega8 anschließen, reicht ein
eifaches R2R Netzwerk ?

danke für eure unterstützung

von Benedikt (Gast)


Lesenswert?

Was meinst du mit Spracherfassung ? Spracherkennung oder einfache
Audioaufzeichnung ?

Digitale Filter sind möglich, wenn diese nicht alzu komplex werden. Bei
16MHz und 8kHz Samplerate hat man immerhin 2000 Befehle pro Sample.

Was spricht gegen einen PWM Ausgang als DA Wandler ? Bei 4kHz
Bandbreite reicht das bei weitem aus.

von Jürgen Schuhmacher (Gast)


Lesenswert?

Digitale Filter wird schwierig und sind eh ein Problem: Selbst
leistungsfähigste Audio-DSP-Systeme im Studiobereich leiden im
Vergleich zu gutem Analogequipment unter Einschränkungen durch die
nötige Codeoptimierung / Rechenzeitbegrenzung. Für Deinen Zweck und
Qualitätsanspruch reichen einfach Algos jedoch aus.

Sprache ist soweit ok, 4kHh reichen im Wesentlichen und ich würde sogar
alles unterhalb von 250Hz wegcutten. Allerdings hat man hier nur ein
Informationsaufzeichnungssystem:

Aus tontechnischer Sicht ist Sprachaufzeichung anspruchsvoller als
Musikaufzeichnung, da die Explosivlaute gut abgebildet werden sollen
und müssen. Die sprachverständlichkeitsbestimmenden Frequnenzantile
liegen jedoch zwsichen 1kH-4kH. Eine sauber Abbildung von "S" und
"T" erfodert eine sehr lineares Verhaltn bishin zu 20khz und
wenigerVerzerrungen durch das AA-Filter am Eingang.

von Martin (Gast)


Lesenswert?

Nochmal zur zweiten Antwort:

Wie kann man mit dem internen PWM einen DA Wandler bauen? Muss da nicht
noch externe Hardware zugeschaltet werden, immerhin kann ist ein PWM
Signal immer Low oder High ich brauche für eine Sprache ja ziemlich
feine Abstufungen.
Auserdom suche ich noch einfache Allgorithmen eines Digitalfilters für
den Mega8 oder eine generelle Beschreibung wie man bei einer solchen
digitalen Filterentwicklung vorgeht

von Alex (Gast)


Lesenswert?

Die Grundlagen gibt jedes Buch über digitale Signalverarbeitung, nur
lesen musst des es schon selber.
Von Analog Devices gibt es auch ein freies Buch zum Thema, such mal
nach Stichworten per Forensuche, da gab es neulich einen guten Thread
zum Thema Literatur.

Für eine PWM braucht man einen Tiefpaß, dass solltest du aber wissen,
bei Wahl einer technischen Studienrichtung. Wir hatten sowas im
Grundstudium.

Gruß, Alex

von Montero (Gast)


Lesenswert?

Wir haben für die Schule versucht ein Digitales Filter zu ralisieren.
Ein IIR Tiefpassfilter zweiter Ordnung 10Bit AD Auflösung mit Anti
Alaysingfilter bei 10 khz und abtastrate 35khz haben wir auf einem
Mega16 16Mhz geschafft (mit anschliessender Pegelauswertung). Aus
Zeitlichen gründen konnten wir ein 2. Ordnung Biquadfilter nicht mehr
testen. Aber mit ein bischen obtimierung glaub ich das es möglich wäre.
   Werde es demnächst mal versuchen.

von Jochen Pernsteiner (Gast)


Lesenswert?

Die folgenden Application Notes von Atmel könnten evtl. hilfreich sein:

AVR335: Digital Sound Recorder with AVR and DataFlash
AVR223: Digital Filters with AVR

von Martin (Gast)


Lesenswert?

Das mit dem Tiefpass am PWM Ausgang ist klar, aber reicht ein einfaches
RC glied aus, oder muss der TP höherer Ordung sein.
Und wie solte fg bemessen sein?

Und wegen des Eingangsignales für den AD Converter muss doch ein OP her
der die Wechselspannung in eine Pulsierende Gleichspannung umwandelt da
der ADC nur Positive Spannungen "versteht". Hat jemand vieleicht so
eine Anpassschaltung zur Hand?

von Montero (Gast)


Lesenswert?

Ja einfach die spannung am eingang mit einem OP als Fogler geschaltet
hochsetzen.

abtastfrequenz sollte bischen mehr als doppelt so gross sein wie deine
grenzfrequenz sonst haste alaysing

von Martin (Gast)


Lesenswert?

Hallo Montero,

danke übrigens für die Hilfe ;)
wäre es möglich das du deinen Digitalfilter mal Postest dann könnt ich
mir das Ding mal Ansehen, ich möchte nämlich anstatt einen Analogen
Eingangsfilter einen Digitalen TP nehmen, ansonsten halt ich mich bei
meinem DAC - ADC Codec an die Application Note AVR335 ( Danke nochmals
dafür ;)  ) Ich gaube dein Schulprojekt ist meinem Vorhaben sehr
ähnlich, was hab Ihr damit gemacht? Sprache wiedergegeben?

von Björn (Gast)


Lesenswert?

Das AA-TP MUSS ein analoges Filter sein!

von Stephan Müller (Gast)


Lesenswert?

der AA-Filter am Eingang hat ja gerade denn sinn dass
die hochfrequenten signalanteile zwischen F/2 und F (F =
Abtastfrequenz) sich nicht in den Bereich von 0 bis F wiederspiegeln.
Somit muss das ein analoges filter sein, sonst hättest du den Alias
Effekt nach der AD Wandlung wieder drin. und wenn der einmal drin ist,
kriegste es nimmer weg.. deswegen VOR der Abstastung filtern mit einem
analogen Filter!

die algorithmen für die digitalen filter sind ja nix anderes als
differenzengleichungen .. wenns aber extrem komplex wird, dann würd ich
auch zur literatur greifen.

hat der controller einen seriellen Ausgang ? z.b. SBI Bus mit 3
leitungen (takt, daten, und ChipSelect).. dann könntest einen guten
16Bit Audio DA Wandler von Analog Devices nehmen (gibts bei RS oder
Farnell).. ca. 12 euro.. DIP gehäuse.. ! also gut zum selbst löten!
hast kein stress mit SMD. die bauteilnummer müsst ich nachschauen, bei
interesse könntet ich nachschauen und dir sagen...
hab eine ISA soundkarte mit einem MC68HC12 Controller gebastelt als
Studienarbeit. hat gut funktioniert mit dem DAC!

mfg
haMMer

von Martin (Gast)


Lesenswert?

Was hast du für einen DAC genommen? Extern oder mit PWM

von Alex (Gast)


Lesenswert?

Ich würde einen externen nehmen, PWM ist in meinen Augen nicht unbedingt
die beste Lösung.

Ein 16 Bit DA-Wandler ist nicht unbedingt sinnvoll. Um mit der
erforderlichen Genauigkeit rechnen zu können, um diesen auszuschöpfen,
braucht es mehr als einen AVR. Ausserdem gibt dein Eingangssignal diese
Auflösung schon nicht her.

von Michael (ein anderer) (Gast)


Lesenswert?

@Alex:

Wozu einen externen DAC? Beim Mega8 kann die PWM mit per PLL mit 64MHz
betrieben werden, was zu einem Grundtakt von 256kHz führt. Das ist über
eine Dekade von der Nutzfrequenz (20kHz) entfernt. Das zu filtern ist
unkritisch. Und selbst wenn das nicht ordentlich gefiltert würde,
welche Lautsprecher kann so eine Frequenz schon abstrahlen? Welches
menschliche Ohr hört diese Frequenz?


@Jürgen:

Analogfilter sind schlechter als Digitalfilter, und nicht, wie Du
gesagt hast, umgekehrt. Allerdings sind Analogfilter deutlich billiger
als Digitale.


@Martin:

Ein Mega8 hat schon ordentlich Rechenleistung bei 16MHz, was aber stört
ist der fehlende Hardware-Multiplizierer sowie der relativ knapp
bemessene RAM-Speicher. Vor allem der fehlende Multiplizierer macht Dir
bei DSP-Anwendungen die Performance kaputt.

von Chris (Gast)


Lesenswert?

> [...] was aber stört ist der fehlende Hardware-Multiplizierer [...]

Der ATmega8 hat einen Hardware Multiplizierer (im Gegensatz du vielen
[allen?] ATtinys).

von Benedikt (Gast)


Lesenswert?

@Michael (ein anderer)
Hast du den mega8 mit dem tiny26 verwechselt ?
Mein mega8 hat zumindest keine PLL, dafür aber einen Hardware
Multiplizierer.

von Martin (Gast)


Lesenswert?

PWM oder r2r ist auch egal, probieren geht über studieren ;)

Noch was, hat jemand schonmal die application Note AVR335 , digital
Sound Recording, angeschaut. Ich hab vor die dargestellte Schaltung
nachzubauen, allerdings ohne externen Flash, sondern das Sprachsignal
gleich wieder auszugeben, entweder mit Digitaler Filterung oder Ohne,
zu Demonstrationszwecken. Das ganze soll auf dem Mega8 oder auf dem
Mega16 (wegen JTAG zum debuggen) laufen. Meint ihr die Prozessoren sind
OK dafür. ich kenne den in der Anwendung verwendeten AT90S8535 nicht.

von Michael (ein anderer) (Gast)


Lesenswert?

Oh, da hab' ich wohl wirklich den Tiny26 mit dem Mega8 verwechselt.
Ups.

Sorry...

von Alex (Gast)


Lesenswert?

Was soll eine Ausgabe ohne Filterung bringen? Was auch immer du da
demonstrieren willst ist mir unklar.
Rechne doch mal einfach:
16MHz/8kHz = 2000 Zyklen Zeit
Wenn du halbwegs versiert in Assembler bist, sollte sich da schon ein
einfaches IIR-Filter implementieren lassen.
In C wird die Sache schwieriger.

von Martin (Gast)


Lesenswert?

Eine Ausgabe ohne Filterung soll einfach den Vergleich zwischen original
und abgetatstetem Rückgabesignal ermöglichen. Bei der aktivierten
digital Filterung soll dann eben ein unterschied erkennbar sein, so
einfach ist dass.

von Montero (Gast)


Lesenswert?

die dokumentation ist auf unserem schulswerver du findest sie auf
home.zhwin.ch/~hviidsve Wir haben eine Audiopegelanzeige versucht zu
programmieren. War nur ein miniprojekt. Schaltplan kann ich im moent
gerade nicht geben da es auf meinem notebook ist und das gerade
rapariert wird.

Wenn du wirklich Audiosignale verarbeiten willst würde ich mich mal mit
DSP auseinandersetzen (Grosser Vorteil: 32Bit Floatingpointoperationen)
Hab gehört das es nen Günstigen von Micochip gibt DSPIC genannt. Soll
nicht viel teurer sein als ein controller.

von Jürgen Schuhmacher (Gast)


Lesenswert?

@Martin & Montero

Die Abtatsfreq. sollte möglichst weit über der höchsten Oberwelle
liegen und nicht nur Faktor 2!  Das erwähnte Aliasing läge bei der
doppelten fg nur dann nicht vor, wenn der Tiefpass ideal wäre- aber
solche einen gibt es ja bekanntlich nicht.

Faktisch reicht bei genügend hoher Tastfrequenz allein der
Lautsprecher, der ja - dank Induktivität - als Tiefpoass wirkt.
Besonders für Billigapplikationen wird das gerne so gemacht. Korrekt
ist aber zumindest ein passiver Tiefpass, besondes, wenn ein Verstärker
dazwischen muss. Oft genug wird exakt in diesen (z.B: ein einfacher OP)
eine Bandbreitenbegrenzung eingeführt. IN höherwertigen Apps liegen
dann aktive Filter vor.

@Michael : Meine Aussage hinsichtlich der Filter ist korrekt. (digitale
schlechter als gute Ananloge)

Lies dir mal den aktuellen Artikel zu digitalen Signalverarbeitung im
Studiomagazin durch. Nicht umsonstz wird im Hi-Endbereich der
Studiotechnik nach wie vor oft mit Analogtechnik gearbeitet und dies
nicht nur bei Aufzeichnungen: Gerade die Vorverarbeitung per Equalizer
erfolgt im Profiequipment IMMER vor der Digitalisierung mittels
aufwändiger diskreter Schaltungstechnik. Der Hintergrund liegt in der
tatsächlichen Beschränktjeit von Rechenalogrithmik druch die
Rechenzeit. Richtig ist, daß man allerdings hochwertiges Analogeqipment
heranziehen muss. Einfache Billigfilter mit Feld-Wald-und-Wiesen-Ops
sind da nicht das Gelbe vom Ei. In einigen Fällen wird per DA- und
anschliessender AD-Wandlung sogar klassisches Analogequipment in einen
digitalen Signalfpad eingeschleift.

Wer Interesse an dem Artikel hat - ich habe ihn geladen und könnte ihn
versenden. Ich meine, er müsste aber noch online sein:
http://www.studio-magazin.de/Leseproben/Grenzen%20der%20Digitaltechnik.pdf

Weitere Infos dazu auf meiner Studioseite www.studio96.de

von Montero (Gast)


Lesenswert?

hab ja gesagt bischen mehr als das doppelte. :o)hab auch von 10khz
filter und 35khz abtastfrequenz geschriben

aber du hast natürlich recht. ich simuliere das ganze auch immer zuerst

von Jürgen Schuhmacher (Gast)


Lesenswert?

Beim Rekonstruktionsfilter (also am Da-Zweig) ist die Sache insgesamt
weniger kritisch, als am Eingang (AD-Zweig). In der Regel kommt man mit
einem einfachen TP bei fs = 2 fg gut aus. Da aber eben auch gesamelt
werden soll, also ein ADC erfolgt, muss man entsprechend hoch abtasten.
Um einen einigermassen stabilen Wert am Eingang zu haben, muss man einen
sehr steilen Filter nutzen (-> Verzerrungen) oder aber entsprechend
Abtasten. Dahei kann man ja je Sample nochmals Überabtasten, also
denselben Wert mehrfach lesen. Das kürzt die HF oberhalb der fg (die ja
immer noch ein wenig vorhandne ist) weg.

Es gibt aber einen Vorteil bei der Audiotechnik im Vergleich zu
industriellen, allgemeinen Messtechnikaufgaben: Zum einen ist der
effektive Signalanteil im oberen Band ab 5kHz nicht sonderlich hoch,
zum anderen wird genau dieser durch Grundverzerrungen im System (wie
auch den oft miesen Mikros) sowieso derart versaut, daß Verzerrungen
hier nicht so auffallen.

von Michael (ein anderer) (Gast)


Lesenswert?

@Jürgen Schuhmacher:

Ich habe den Artikel angefangen zu lesen, und bereits auf der zweiten
Seite strotzt er nur so vor Fehlern, aber fangen wir mal vorne an:

Seite 1:

   "... Der augenblickliche Spannungswert in jedem dieser Zeitfenster
   wird analysiert und in ein digitales Wort übersetzt, wobei die
   Breite des Wortes (die Anzahl der Bytes) über die
   Amplitudenauflösung und die Anzahl der Abtastzyklen pro Sekunde
   über die Frequenzauflösung entscheidet. Zwangsläufig findet
   dabei jedoch in beiden Ebenen eine inhaltliche Vereinfachung
   des Signals statt, da niemals alle Nuancen des Schwingungsverlaufs
   erfasst werden können. ..."

Diese "Nuancen" sind Frequenzen. Und wenn mein zu digitalisierendes
Signal nun mal als höchste Frequenz z.B. 20kHz beinhaltet, gibt es
keine "Nuancen" mit über 20kHz.

Seite 2 (da wird's hammerhart):

   "Rein theoretisch liegt die maximale Nutzfrequenz eines
   digitalen Systems nach dem berühmten Nyquist-Abtasttheorem
   bei der halben Abtastfrequenz."

1. Fehler. Das Nyquist-Theorem besagt, dass das Abtastsignal größer
als die doppelte Bandbreite des zu digitalisierende Signals sein muss.
Die Bandbreite ist bei Audio-Anwendungen in der Regel gleich der
höchsten Frequenz. Also wenn mit 44.1kHz abgetastet wird, können nur
Frequenzen kleiner als 22050Hz digitalisiert werden.

Nun nimmt das Drama seinen Lauf:

   "Theoretisch deshalb, weil dies eine phasenstarre Verkopplung
   von Abtastrate und Nutzsignal voraussetzt."

Falsch, falsch, falsch und nochmals falsch. Die Phase ist Jacke wie
Hose, weil die Abtastrate größer als doppelte Signalfrequenz sein muss.
Nyquist!

Und jetzt kommt's richtig Dick:

   "Ein Nutzsignal mit der halben Abtastfrequenz kann nur dann
   übertragen werden, wenn der Phasenwinkel zwischen Abtastrate
   und Nutzsignal 0 Grad beträgt."

   [...]

   "Durch geeignete Filterung des so entstandenen Rechtecksignals
   könnte das Originalsignal mit einer gewissen Amplituden-
   Unsicherheit tatsächlich wieder rekonstruiert werden.
   Das funktioniert allerdings nur dann, wenn mit Beginn der
   Abtastperiode die Sinusschwingung ihren Nulldurchgang hat.
   Bei einer Phasenverschiebung um beispielsweise 90 Grad würden
   dagegen die erste Abtastperiode den Zyklus von +90 Grad bis -90
   Grad messen; die zweite Abtastperiode dann den Zyklus von
   -90 Grad bis +90 Grad. Das Resultat wäre in beiden Fällen Null."

Haha. Spätestens hier hätte der Autor selbst bemerken müssen, dass er
Nyqusit nicht verstanden hat. Denn genau das hat Nyquist ja gesagt,
dass die Abtastrate größer als die doppelte Signalfrequenz sein muss,
da diese Frequenz ansonsten nicht korrekt erfasst wird und Aliasing
auftritt.


Nun wird's Nobelpreis-Verdächtig (allerdings Nobelpreis für Idioten):

   "Unser Nyquist-Theorem, das vielerorts immer noch
   stillschweigend vorausgesetzt wird, ist also auf die uns
   hier interessierenden Audiosignale gar nicht anwendbar, da
   die genannte Voraussetzung der starren Phasenverkopplung
   in der Praxis natürlich nicht einhaltbar ist."

Echt cool. Nyquist gilt bei Audio nicht. Das ist wirklich eine
bahnbrechende Erkenntnis...
Natürlich ist dieser Abschnitt ein weiterer Beiweis dafür, dass der
Autor keinen blassen Schimmer von Nyquist hat, was er sogleich noch
deutlich beweist:

   "Sobald das Nutzsignal nun nicht mehr perfekt in die
   Abtastperiode 'hineinpasst', bekommen wir über mehrere
   Schwingungen betrachtet für jeden Schwingungsverlauf
   unterschiedliche Digitalwerte - die Phasenlage ändert
   sich von Schwingung zu Schwingung."

Genau diese "unterschiedlichen Digitalwerte" für eine bestimmte
Signalfrequenz bei einer bestimmten Abtastrate kodieren die Frequenz
einschliesslich der Phasenlage!
Es ist völlig unerheblich, ob die Abtastrate ein ganzes Vielfaches der
Signalfrequenz ist, oder nicht.

   "Dies bedeutet im Ergebnis, dass wir am Ende der gesamten
   Signalkette, also nach A/D-Wandlung, Speicherung,
   Signalbearbeitung und D/A-Wandlung, neben dem Nutzsignal
   ein mit steigender Nutzsignal-Frequenz immer höher werdenden
   Betrag an nicht harmonischen Verzerrungen vorfinden, die durch
   Summen- und Differenztonbildung mit der Nutzfrequenz entstehen.

   Bei dem beschriebenen Sachverhalt handelt es sich um den
   wohl schwerwiegendsten Geburtsfehler der gesamten digitalen
   Audiotechnik, wobei bis heute nach meinem Kenntnisstand noch
   niemand wissenschaftlich fundierte Hörsamkeitsuntersuchungen
   zu dieser Art der Verzerrungen durchgeführt hat."

Nun, schon komisch, gell? Liegt vielleicht daran, dass der Autor  Müll
redet, denn es entstehen einfach keine Verzerrungen. Der Autor ist der
Mathematik der hinter der Digitalisierung steht nicht mächtig.

Wenn der Autor recht hätte, würden bei einem simplen System, das aus
einem Analog-Digital-Wandler, einer Verzögerung beliebiger Anzahl von
Samples, und einem Digital-Analog-Wandler Phasenverschiebungen
auftreten, je nach dem ob die Frequenz des Sinussignals am Eingang ein
ganzzahliger Bruchteil der Abtastrate des Systems ist, oder nicht.

So. Hier hör' ich nun auf. Der Autor schwafelt noch davon, dass nach
seiner Meinung mindestens 500kHz Abtastrate für Audio nötig wären usw.


Man ist von den Audio-Leuten ja schon viel gewöhnt. Aber das ist wieder
so ein lebender Beweis, dass einigen (vielen?) grundsätzliche
Zusammenhänge einfach nicht bekannt sind. Da darf es dann schon mal
Sauerstoffarmes Kupfer für besseren Klang sein, oder die Festellung das
auf kopierten CDs der Klang nicht so gut ist wie bei den originalen
wegen Jitter ebenso wie die Feststellung das Nyquist für alles auf
dieser Welt zutrifft, nur für die eigenen, heiligen Audiofrequenzen
nicht.

Der gute Mensch sollte sich erst mal in die Grundlagen der
Signalverarbeitung einschliesslich deren Mathematik einarbeiten, bevor
er weiter schreibt. Aber wahrscheinlich kommt er dann zum Schluss, dass
die Mathematik für Audio nicht anwendbar ist usw.

Nein Danke, auf solche "Diskussionen", die behaupten 1 + 1 = 2 gilt
bei Audio nicht, habe ich keine Lust.

von Björn (Gast)


Lesenswert?

@Michael (ein anderer)
Sauber! Schönes Ding

von Edgar Renner (Gast)


Lesenswert?

@Michael (ein anderer)

Super Beitrag. War schön zu lesen ...


@forum

DA-Wandler für Audio gibts von Philips: TDA1543. Und ist in allen
möglichen Gehäusen kaufbar (z.B. als DIL für 0,75Euro bei Reichelt).

Er wird über IIS angesteuert und kann bei zwei Ausgangskanälen maximal
16bit. Bitrate und Auflösung werden durch die Gewschindigkeit und die
Anzahl der Bits auf dem IIS definiert.

Im Datenblatt sind auch Beispiele für die TPs am Ausgang aufgezeigt.

alt-f4

von Jürgen Schuhmacher (Gast)


Lesenswert?

Hm ich bin ein wenig zu müde um das nun aufzurbeiten - auch sehe ich
mich nicht als Verteidiger des Autors.

Daher nur kurz den den ersten Kritikpunkten:

"... ein zu digitalisierendes Signal nun mal als höchste Frequenz z.B.
20kHz beinhaltet, gibt es keine "Nuancen" mit über 20kHz."

Das IST doch genau das Problem: Das aufgenommene Signal HAT Frequenzen
über 20kHz, die von (sagen wir etwa 44k) korrekt dargestellt werden
können. Diese führen zu AA-Efekten. Sie tun es jedoch weniger, wenn die
fs drößer ist, da sie dann korrekt abgetastet werden , später
wiedergegeben werden und so im oberen Spektralbereich bleiben, die a)
im rekon-Filter hängen, und b) nicht gehört werden. Aus meiner Sicht
ist seine Darstellung vollkommen korrekt.


"Nyquist-Theorem besagt, dass das Abtastsignal größer sine muss"

Nach meiner Errinnerung sagt N: ">=" damit wäre Deine Aussage exakt
dieselbe wie seine: Er spircht ja von der maximal darstellbaren
Frequenz.


"phasenstarre Verkopplung von Abtastrate und Nutzsignal"  Deiner
Ansicht nicht nötig, da Nyquist dies löst.

Hm, genau sehe ich auch nicht was er mit phasenstarr meint: Wenn die
Freuqenz konstant ist, erwischt er irgendeine Phasensituation, die dann
einen statischen AA liefert - quasi als Offset. Wenn nach Deinem
Vorschlag eine eetwas größere als die doppelte benutzt würde, sagen wir
40.001 statt 40.000, so würde diese fg punktartig alle Amplituden einer
20kHz-Sin abtasten und damit langsam driften, oder ?

Stichwort: Intersample-Peaks ?

Meines Erachtens ist das schon richtig: solang kein perfekter Lopass
exisitert, kommt es unweigerlich zu AA.

... und weiter dazu von Dir:

"Genau diese "unterschiedlichen Digitalwerte" für eine bestimmte
Signalfrequenz bei einer bestimmten Abtastrate kodieren die Frequenz
einschliesslich der Phasenlage!"

Wenn Du infolge der oben beschriebenen schwankenden Werte für diese
hohe Fourrierfrequenz keinen konstanten Wert ermittelt hast, dann ist
das Signal falsch interpretiert. Mit welchem Filter willst Du dies dann
so rekonstruieren, daß diese Fehler wieder verschwinden ?

Ich seh mir den Rest morgen an, und schreibe was dazu.

Vorab noch zwei Dinge: Über Begriffe wie Nuoncen sollte man
hinwegsehen, denn es ist für Musiker geschrieben worden- der Autor
selber ist Dipl-Ing. und baut Audioprodukte.

Aussderem: Mein Aufhänger war ja die Endlichkeit der Rechenleistung und
die damit verbundene Ungenauikgkeit digtaler "Schaltungen" in
Software. Da habe ich schon so einiges herumprobiert. (Ich mache
DSP-Software und bin gerade an plugins dran).

Digitale (oder sagen wir "mathematische") filter benötigen oft
Trigonometrische Funktionen, die über REihen entwicklelt und berechnet
werden. Diese sind aber nicht beliebig determinierbar, weil man
irgendwann man ferig werden will. De Facto ist es so, dass derzeit
praktisch alle digitale Audiohardware und vor allem Audiosoftware oft
nicht genauer als 10e4  oder 10e5 rechnet, was dazu führt, daß man gfs
nur bei 80dB Signalintegrität landet, während gut analoge Preamps mit
EQs durchaus locker über 110dB kommen, sowohl in Linearität THDN als
auch im S/N.

Wie siehst Du das?

von Mike (Gast)


Lesenswert?

Nyquist sagt nach Oppenheim/Schafer, dass fs > 2fn sein muss.
Um Verwechslungen vorzubeugen, die Nyquistfrequenz an sich ist als fs/2
definiert.

"Wenn Du infolge der oben beschriebenen schwankenden Werte für diese
hohe Fourrierfrequenz keinen konstanten Wert ermittelt hast, dann ist
das Signal falsch interpretiert."

Nimm dir in einer ruhigen Minute mal Matlab oder etwas äquivalentes und
probier es aus. Die Information steckt noch im Signal!

von Michael (ein anderer) (Gast)


Angehängte Dateien:

Lesenswert?

@Jürgen Schuhmacher:

Thema Abtastrate:
=================

Ich hab' Dir mal eine Grafik gemacht. Einmal einen Sinus mit hoher
Abtastrate digitalisiert (rot), und den gleichen Sinus mit kleiner Rate
(grün).

Auch wenn es für den uninformierten Betrachter nicht so aussieht, die
grüne Kurve mit der niedrigen Abtastrate hat exakt die gleiche
Information gespeichert, wie die rote Kurve mit der hohen Abtastrate.

Es würden so gar noch weniger Punkte genügen. Die Abtastrate muss nur
größer als die doppelte Signalfrequenz sein, und schon wird von jeder
beliebigen Sinusschwingung die dem Nyquist-Theorem genügt, die
Frequenz, Amplitude und Phase vollständig erfasst.

Warum das so ist, ist in der entsprechenden Litaratur nachzulesen. Dass
ist mathematisch eindeutig beweisbar (Fourier, Nyquist etc.).


Thema begrenzte Analogfilter und Aliasing:
==========================================

Auch das stellt überhaupt kein Problem da. Du baust einfach einen
hinreichend ausreichenden Analogfilter, digitalisierst mit höherer
Abtastrate (z.B. doppelte Abtastrate), filterst digital per Tiefpass,
und wirfst einfach einen Teil Deiner Egebnisse weg (d.h. Du brauchst
die Filterergebnisse dafür erst gar nicht berechen). Fachbegriff dafür
ist Oversampling.

Das funktioniert so gut, weil Du dafür den Aliasing-Effekt noch
ausnutzen kannst. Ein kleines Zahlenbeispiel:

Signalfrequenz 20kHz, gewünschte Abtastrate 44.1kHz.

Du macht 2faches Oversampling, also tastest mit 88.2kHz ab. D.h. Du
hast von Deiner Signalfrequenz bis zur Nyquist-Frequenz ein Polster von
24.1kHz (44.1-20). Dieses Polster kannst Du aber doppelt benutzen, da
das erste band oberhalb Deiner Nyquist-Frequenz an der Nyquist-Frequenz
'invers' unterhalb von 44.1kHz (88.2/2) reingespiegelt wird. D.h. Du
hast ein Band von 48.2kHz zur Verfügung, in dem Dein Analogfilter
sperren muss.
Also -3db Punkt deines Anti-Aliasingfilter bei 20kHz, und Sperrfrequenz
bei 20khz plus 48.2kHz, also 68.2kHz.

Das gleiche passiert natürlich auch wieder bei der
Digital-Analog-Wandlung. Du machst auch wieder ein Oversampling und
hängst einen behäbigen analogen Tiefpass dahinter, und als Ergebnis
bekommst Du einen perfekten Sinus wieder raus.


Das ist ja gerade das geile an der Digitalen Signalverarbeitung. Du
erreichst eine zig-fach höhere Präzision als in Analogsystemen. Du
kannst einen Digitalfilter so genau oder ungenau dimensionieren, wie
benötigt. Du kannst praktisch jeden beliebigen Frequenzgang und jedes
beliebiges Phasenverhalten bauen.

von till (Gast)


Lesenswert?

Jo. zum glück haben wir ja sowas wie religionsfreiheit in deutschland.

von Michael (ein anderer) (Gast)


Lesenswert?

@Till:

Mathematik ist kein Frage der Religion.

von Jürgen Schuhmacher (Gast)


Lesenswert?

Das gif ist nicht so aussagekräfig: Man müsste schon eine Freuqenz
nehmen, die tatsächlich nur ganz knapp über der gesampelten liegt: Also
z.B. 44,1kHz für 22kHz. Damit sieht man, wie die Phase ganz langsam
immer an einem anderen Punkt abgetastet wird.  Allerdings wird aus dem
Bild immer noch nicht klar, wieso nach Rekon-Filter ein korrekte Sinus
entsteht. (Im Übrigen darfst Du die Punkte nicht verbinden, da sie
digital nicht in Veringung steht und analog ja schon garnicht. )

Was Nyquist amgeht so ist => unbedeutend, da man bei der Betrachtung ja
eine infinitismal kleiner Frequenz annehmen könnte, um das "=" zu
eliminieren. Dazu folgende Betrachtung :

Man betrachte die Frequenz 22.499 Hz, die vom Mikrofon geliefert wird
und unterstelle eine Abtastf. von typsich 44100. Startet die Abtasttung
in nulldurchgang der Frequenz, so liefert die AD-Wandlung praltisch nur
Nullen. Erst langsam "rutscht" die Abtastung aufgrund des leichten
Mismatch nach oben und liefert größere Werte. Dieser Frequenanteil ware
nicht korrekt dargestellt, oder ?

Wie lange soll man warten, bis sich eine messbare Welle einstellt ? Die
Ampltitude dbei Audio ändert sich im ms-Bereich. Falls Du Dich an der
Wahl des Beispiels störst: Du könntest auf 15.749kHz und die
Consumerabtastfrequenz von 31.5kHz berachten.

Aber ungeachtet des Bildes und der richtigen Theorie bestehen nach wie
vor noch die Peoblem der Umsetzung guter Filter- sowohl analog und
digital. Diese aber werden genau durch höhere fs gelöst (oder sagen wir
besser reduziert) Das lässt sich auch praktisch zeigen, z.B. in
Hörversuchen mit repäsentativem "s" in 48,96 kHz Systemen.

von till (Gast)


Lesenswert?

Die Anwendung der Mathematik ist eine Frage der Modellierung, und die
kann der Anwender recht frei und seinem Glauben gemäß wählen, wofür
deine Postings gute Beispiele sind. Der wahre Gläubige neigt halt dazu
zunächst einmal die Realität als so ideal anzunehmen das die Theorie
die er belegen will damit funktionieren muss.

von Michael (ein anderer) (Gast)


Lesenswert?

@Jürgen:

> Was Nyquist amgeht so ist => unbedeutend, da man bei der
> Betrachtung ja eine infinitismal kleiner Frequenz annehmen
> könnte, um das "=" zu eliminieren.

;-) Das ist natürlich eben nicht unbedeutend.

Vergiss mal für einen Moment Sinus, Abtrastfrequenzen etc., ich möchte
Dir das Anhand einem anderem Beispiel zeigen:

Stell Dir mal eine Gerade in einem Koordinatensystem vor (2D).

Du kannst diese Gerade mit zwei Punkten eindeutig definieren. Der
Abstand dieser Punkte spielt insofern keine Rolle, daß dieser Abstand
beliebig klein werden darf, aber nie Null werden darf.

Die Schlussfolgerung, dass der Abstand dieser Punkte auch Null sein
dürfte, weil Du ihn beliebig klein machen kannst, käme Dir bei der
Geraden nie in den Sinn.

Es ist eben ein bedeutender Unterschied, ob Du sagst größer als Null,
oder gleich Null. Denke z.b. auch mal an die Division. Je kleiner Du
den Nenner machst, desto größer wird das Ergebnis (bei gleichem
Zähler). Wenn Du eine Grenzwertbetrachtung machst, siehst Du dass das
Ergebnis gegen Unendlich wandert. Aber trotzdem kannst Du daraus nicht
Ableiten, dass die Division durch 0 gleich Unendlich wäre. Das wäre
nämlich falsch. Die Division durch 0 ist schlichtweg nicht definiert.
Und das ist sogar beweisbar!

Genauso wie Du durch Null nicht dividieren kannst, so wie Du eine
Gerade nicht mit nur einem Punkt beschreiben kannst (Abstand zwischen
zwei Punkten gleich Null), genau so ist es ein Riesenunterschied, ob
Deine Abtastrate für eine Frequenz größer als die doppelte
Singalfrequenz ist, oder gleich der doppelten Signalfrequenz.

In der Praxis ist es natürlich so, dass Du Dich dieser Grenze nicht
beliebig näheren kannst, Da Dir Rauschen, Quantisierungfehler und
(analoge) Filterqualitäten einen Strich durch die Rechnung macht. Also
lässt man einen kleinen Sicherheitsabstand. Und da reichen die 2.05kHz
zwischen 20kHz und 22.05kHz bei 44.1kHz Abtastrate locker aus.

von till (Gast)


Lesenswert?

Nun, ich denke nicht das es die böse analoge filterqualität ist die fs/2
unmöglich macht. Das großartige Theorem funktioniert - mit Dirac
Impulsen zur Abtastung. Und da weder der ADC eine Eingangskapazität von
0F nocht der OP der ihn treibt eine Impedanz von 0R hat, wird es im RL
mit den Dirac Impulsen wohl nix werden.

Und das man digitale Filter sogut machen kann wie man möchte ist ein
Gerücht. Zeige mir ein digitalen HP erster Ordnung der die Qualitäten
eines billigen MKP Kondesators aufweist.

von Jürgen Schuhmacher (Gast)


Lesenswert?

Michael, Du hast mein Anmerkung "infintisimal" falsch verstanden. Ich
sagte nur, daß es für unsere aktuelle Betrachtung egal ist, ob man bei
20kHz die 40kHz mit hinzunimmt oder nicht, weil ich DANN, wenn es eben
unbedingt ">" heissen muss, jederzeit auf 40.0000001 übergehen kann
was

a) die Mathematik / Forderung nach Nyquist nun erfüllt und
b) praktisch vollkommen dasselbe ist.

Vergessen wir aber mal die Diskussion um Feinheiten.

Was hälts Du von meinem Beispiel der oben angführten Frequenz von
15,749 Hz, die bei exakt 31,500Khz abgetastet wird ?  Laut Nyquist ist
die komplett zu rekonstruieren, da fs>fg Aus den grafischen
Betrachtunggen, die bisher geliefert wurden, geht das jedoch nicht
hervor.

Wenn ich wie angesprochen im Nulldurchgang beginne, zu sampelt
(oversdampling oder nicht) so erhalte ich je Persion etwa 2 Stellen,
die zunächst fast nur im BEreich des nullpunktes ligen. Dieser Wert
steigt ganz langsam an, bis ich im Bereich der Spitzenwerte sample:
Dann habe ich fast nur den Amplitudenwert. Ich bekomme alse eine schach
und langsam über viele Perioden ansteigende Folge von Digitalwerten.

Ich betrachte nun die ersten 100 Samples: Gebe ich diese schwach
ansteigende Folge von Digitalwerten auf einen Tiefpass mit fg=15kHz,
dann bekomme ich tatsächlich eine Welle von ehemals gesampelten knapp
15kHz mit der vollen Amplitude abz. der 3dB Eckfrequenz?

Wieso sollte das der Fall sein ?

von Mike (Gast)


Lesenswert?

Schon wieder falsch, du wehrst dich aber bestrebsam :-)

fs > 2fg

Dadurch erhältst du eine alternierende Folge mit zunächst steigender
Amplitude. Nimm dir einfach mal ein gutes Buch zum Thema.
Dass die Frequenzunterschiede nicht so klein wie in deinem Beispiel
gewählt werden, hat Michael bereits gesagt.

von Björn (Gast)


Lesenswert?

@till
Dem nichtrealisierbaren Dirac-Impuls wird mit dem
Formfilterfrequenzgang und ggf. dem si-Entzerrer in realen Modelen
Rechnung getragen.
Ausserdem sollte man bei Filtern besser nicht die Ordnungszahlen
vergleichen. Das macht natürlich keinen (wenig) Sinn. Für einen TP 1.
Ordnung würde man wohl auch kein digitales System aufbauen.

@till und Jürgen
Die Zusammenhänge sind m.M. nach innerhalb von 30 min mit Hilfe von
Matalb erklärt. Warum macht ihr das denn nicht?
Wenn das tatsächlich alles so schlecht ist, frage ich mich, wie sich
der Siegeszug der digitalen Pulte in den letzten Jahren erklärt...
... und was ich alles für'n Quatsch gelernt und gelesen habe.

Gruß
Björn

von Jürgen Schuhmacher (Gast)


Lesenswert?

Björn, ich HABE ein digitales Pult. Und es sampelt mit 256-facher
Frequenz des Eingangs. Warum tut es das ? Die effektive Frequenz fs
,die sich dadruch ergibt, ist so um glatte 8 Oktaven höher, was mehr
als 2.5 Dekaden entspricht. Ginge es nur um Nyquist, so bräuchte es
dies nicht, oder? Nur AA (anit alias) kann es aber auch nicht sein,
gelle ?

Nochmal: Ich bestreite die Gültigkeit von Nyquist gar nicht. Ich sage
nur, daß die HIER gelieferte Explikation nicht deutlich ist, sich an
der Theorie orientiert und für die praktische Umsetzung oft noch mehr
zu berücksichtigen ist: Die Frage war ja, wie AD/DA mit einem AVR - im
Bezug auf Audio.

Im Übrigen war dies ja nur eine OT-Einsteudiskussion, die entstand,
weil "Micha, der andere" ( lat. andere = "alias" !!!) Bezug nahm,
auf den Artikel des bekannten audio-Ingneieurs Jünger im Studiomagazin,
den ich gelinkt habe. Es ging dabi um die GRenzen der Digitaltechniik.

Gelinkt habe ich ihn, weil ich auf die Endlichkeit der
Rechenmöglichkeiten hinwies, und die damit verbundene Problematik der
Genaugikkeit. Die ist nach wie vor offen, und Ich sehe dies nach wie
vor ganz genauso!  - Besonders bei den hier angesprochenen langsamen
AVR. (... allerdings sogar auch bei dem von mir favorisierten 56303,
für den ich entwickle)

Mir steht neben dem Digitalpult auch Wandlersysteme von Mindprint zur
Verfügung, die mit 48 und 96 gleichsam arbeiten können. Und hier zeigen
sich durchaus Vorteile bei 96khz-Systemen- und dies nicht nur im BEzug
auf die AD-Wamndlung. Auch was das Rechnen mit doppelter zeitlicher
Auflösung angeht, ist es vorteilgahft: Ganz konkret ist es bekanntlich
so, daß sich EQ-Verläufe (-> Filter !!!!) besser der Realität annähern
lassen, als in den 44,1/48er-Systemen. Moderne Audiosoftware arbeitet
intern schon auf 192kHz- Warum ist das so?

Ich denke a) der Fragende (Martin) sollte intern mit mehr als nur der
doppelten fs arbeiten, und mienen RAt folgen und b) der Herr Nyqusit
hatte kein Wavelab oder Samplitude zur Verfügung :-)

Zurück zum Analogen: Es es ist mithin so, das besagte Firma Mindprint
wie einige andere auch, ebenso ein Verfechter der analogen
Signalverarbeitung ist, und ihre Topgeräte mit analogen Vorstufen
austattet: Ja, dort stecken analoge EQs drin bevor gewandelt wird!
Grund: die Ergebnisse sind besser, als eine Sofortwandlung mit ADC und
Applikation digitaler Filter im Nachinein. Das ist keine Theorie,
sondern echte Praxis.

Und wer mir was anders nachweist, der kriegt meinen AN/DI geschenkt:D

P.S: ich habe sowohl Mathlab als auch noch meine alten
Vorlesungsunterlagen zur Nachrichtentechnik :D

von Stephan Hochberger (Gast)


Lesenswert?

Die Aussage der vollständigen Rektonstruktion bezieht sich aber auf
periodische Signale. Je näher die Signalfrequenz an der halben
Abtastrate liegt, desto mehr Samples werden benötigt. (Im Grenzwert
sinds dann unendlich viele)
Da Audiosignale aber nunmal nicht periodisch sind (es gibt auch
Ausnahmen) muss die Abtastrate eben geeignet höher sein. Die Samplerate
von 44.1kHz bringt daher bei Berücksichtigung des sich stetig ändernden
Spektrums m.E. schon in der Theorie Verluste des interessierenden
Signals < 20kHz mit sich.

Hauptgrund für die höheren Sampleraten (96/192kHz) ist aber soweit ich
weiß, dass einfachere Filter verwendet werden können und die dadurch
steilflankige Filter verursachten Nebeneffekte reduziert werden.

von Michael (ein anderer) (Gast)


Lesenswert?

@Jürgen Schuhmacher:

Ich denke, es ist alles gesagt. Weiter diskutieren bringt hier nichts
mehr. Denn solange Du Dich weigerst, einen Unterschied zwischen
"größer Null" und "gleich Null" zu sehen, solange drehen wir uns im
Kreis.

Es gibt in der Mathematik keine Grenze, wo größer Null "praktisch
vollkommen dasselbe" wie gleich Null ist.

Wie soll ich Dir nachweisen, dass Digitalfilter leistungsfähiger als
Analogfilter sind, wenn Du nicht mal Nyquist anerkennst oder verstehst?
Daher ist Dein Angebot mit dem AN/DI (was immer das ist), schlichtweg
ein Witz. Du würdest das Teil so oder so nicht hergeben, egal welche
Beweise ich bringen würde.

In der Zwischenzeit, wenn Du etwas Zeit hast, schau' Dir mal
http://www.dspguide.com/ an. Dort findest Du ein leicht verständliches,
komplettes Buch zum Download über Digitalsingalverarbeitung inkl. deren
Mathematik.

Nochmals zurück zum verlinkten Artikel.

Wenn ein Autor, der einen "Dipl. Ing." hat, eine Seite lang versucht
zu zeigen, dass Nyquist (nach seiner falschen Definition) nicht für
Audiosignale gelten würde, und sich dabei auch noch wundert, dass das
noch nie einem anderem aufgefallen ist, dabei nicht auf die Idee kommt,
dass der Fehler bei ihm selbst liegt, dann spreche ich diesem Autor die
Kompetenz ab, Digitale Signalverarbeitungssysteme objektiv zu
untersuchen und zu beurteilen.

von Mike (Gast)


Lesenswert?

@ Micha
ACK, mehr gibts nicht zu sagen.

von Peter Oberhofer (Gast)


Lesenswert?

Ich habe den gesamten Artikelbaum gelesen, bin mir aber trotz Studiums 
der gelinkten Literatur immer noch nicht sicher.

Wer hat denn nun Recht: "Michael, der andere, der sagt", dass eine 
Frequenz kurz oberhalb der abzutastenden Welle reicht, oder Jürgen 
Schuhmacher, der behauptet, dass es für Audio nicht reicht?

Ich habe, wie angeraten, das Beipsiel in Matlab durchgespielt und finde 
genau das von Jürgen progonsitizierte Verhalten der langsam 
einschwingenden / ansteigenden Welle, die mit dem Original nichts zu tun 
hat.

Laut meiner Vorlesungen hätte Michael Recht. Es langt, etwas höher 
abzutasten, als man sampeln will. Jetzt habe ich mich bei den 
Entwicklern von RME schlau gemacht: Die benutzen auch Sample ADCs die 
mit viel höherer Frequenz abtasten, als es für Audio nötig ist - z.B. 
wird mit 192kHz gesampelt und ausgegeben (je Kanal) aber mit 128facher 
Frequenz abgetastet. Hat Jürgen Schuhmacher also doch Recht und warum?

von Karl H. (kbuchegg)


Lesenswert?

Peter Oberhofer schrieb:

> Wer hat denn nun Recht: "Michael, der andere, der sagt", dass eine
> Frequenz kurz oberhalb der abzutastenden Welle reicht, oder Jürgen
> Schuhmacher, der behauptet, dass es für Audio nicht reicht?

Ich habe den Thread nicht vollständig gelesen. Aber zumindest zum 
Schluss geht es doch nur noch um die Gretchenfrage, ob die 
Abtastfrequenz exakt das doppelte der höchsten vorkommenden 
Signalfrequenz sein darf, oder ob sie größer (wenn auch nur sehr wenig 
größer) sein muss.

Für die Praxis ein Streit um des Kaisers Bart.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.