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
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.
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.
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
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
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.
Die folgenden Application Notes von Atmel könnten evtl. hilfreich sein: AVR335: Digital Sound Recorder with AVR and DataFlash AVR223: Digital Filters with AVR
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?
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
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?
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
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.
@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.
> [...] was aber stört ist der fehlende Hardware-Multiplizierer [...]
Der ATmega8 hat einen Hardware Multiplizierer (im Gegensatz du vielen
[allen?] ATtinys).
@Michael (ein anderer) Hast du den mega8 mit dem tiny26 verwechselt ? Mein mega8 hat zumindest keine PLL, dafür aber einen Hardware Multiplizierer.
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.
Oh, da hab' ich wohl wirklich den Tiny26 mit dem Mega8 verwechselt. Ups. Sorry...
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.
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.
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.
@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
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
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.
@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.
@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
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?
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!
@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.
Jo. zum glück haben wir ja sowas wie religionsfreiheit in deutschland.
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.
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.
@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.
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.
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 ?
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.
@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
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
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.
@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.
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.