Hallo Zusammen Ich möchte mir einen Digitalen Synthesizer mit einem uP oder DSP programmieren. (Learning by doing) Laut diversen Informationen im Internet (Bsp.www-ccrma.stanford.edu Alias-Free Digital Synthesis of classic Analog Waveforms) Scheint nun die einfachste Aufgabe nähmlich einen Sägezahn oder Rechteck zu generieren doch nicht so einfach zu sein wie angenommen. Vielleicht aber fehlt mir auch nur der nötige mathematische background um die kompliziert beschriebenen Funktionen von der in der Praxis eingesetzten vereinfachten Formeln zu unterscheiden. Wie genau ein Sägezahnoscillator mit der Methode ''BLIT'' (Bandlimited Impuls Train) erzeugt werden kann verstehen ich nun gar nicht ? https://ccrma.stanford.edu/~stilti/papers/blit.pdf Hat da jemand Erfahrung ? Eine weitere Methode beschrieben in (New Approaches To Digital Subtractive Synthesis von Vesa Välimäki UNI Helsinki) http://www.music.mcgill.ca/~ich/researc ... cr1071.pdf verstehe ich so halbwegs mit der Formel (DPW algorithm) bin ich mir aber nicht so sicher ob ich dies richtig verstanden habe ? DPW = Modulo Counter (Erzeugt Sägezahn) 1. Inkrementierter Wert wird aus den Zähler gelesen. 2. Dieser Sampelwert wird Quadriert (.)2 3. Dem neuen quadrierten Sampelwert wird der alte Wert abgezogen (1-Z hoch 1) 4. Der neue Sampelwert wird verstärkt durch c=1/(4*(f/fs) 5. Out (DAC) Hab ich das so richtig verstanden ? Gruss Yello
Das ist genau richtig. Und warum macht er das? Grundsätzlich gilt: kontinuierliches Signal --> nichtperiodisches Spektrum diskretes Signal --> periodisches Spektrum (Periode mit fs) Problem ist, dass ein Sägezahnsignal aus undendlich vielen Harmonischen besteht. Da allerdings durch die Abtastfrequenz das Spektrum mit fs periodisch ist, überlagern sich die hochfrequenten Anteile. Abhilfe kann man nur schaffen, wenn man entweder fs erhöht oder das Sägezahnsignal filtert. Ein normaler TP-Filter würde zwar Abhilfe schaffen, aber gleichzeitig die Signalform stark ändern. Dies geschieht aufgrund des Amplitudenganges, bei dem schon die niedrigen Frequenzen gedämpft werden. Jetzt kommt der Ansatz: Der Sägezahn ist von 0 bis T eine lineare Funktion. Diese wird anschließend quadriert. Der Differenzierer besitzt Hochpass-Verhalten, wodurch man nur die höherfrequenten Anteile erhält. Werden diese von Spektrum des Sägezahnsignals abgezogen werden die sich gegenseitig überlagernden Anteile reduziert. Ein weiterer Effekt ist, dass lediglich die Samples nahe t=0 und t=T verändert werden. Die Linearität der restlichen Samples bleibt erhalten. Gruß Alexander
Hallo Alexander vielen dank Deiner ausführlichen erklärung !! So langsam dämmert es bei mir. Huch In dem Fall ist BLIT nur ein Oberbegriff dessen algorithmen verschiedener natur sein können ? Wie eben das Bsp. DPW oder Additive Synthese (addition von Oberwellen bis zum gewünschten Signal) Wavetable usw. gehören zur Kategorie von BLIT ? während ein einfacher Sägezahn erzeugt nur durch einen Zähler nicht zu der Kategorie BLIT zählt ? Gruss Yello
Offensichtlich enthält der Sägezahn Harmonische mit unendlich hoher Frequenz. Deshalb führt eine Abtastung zu erheblichem Aliasing, d.h. Frequenzen über fg werden auf Frequenzen unterhalb fg abgebildet. Dies führt zu”unsauberem“ Klang oder gar zu falscher Tonhöhe und kann nicht durch nachträgliche Filterung behoben werden. Es bleibt nichts anderes übrig, als die Wellenform bandbeschränkt (unter Einhaltung des Abtasttheorems)zu synthetisieren. Band limited impuls train (BLIT). Aber was mir noch nicht richtig in den Kopf will ist folgendes. Es ist völlig einleuchtend wenn ich ein Eigangssignal erfassen will (Sampling) und dieses eine höhere Frequenz als 1/2 von fs hat, diese Abtastung führt dann zu erheblichem Aliasing (Das zu schnelle Signal hat dann nur noch ein Wert pro Periode erfasst und kann somit nicht mehr Rekonstruiert werden! Abhilfe höhere Abtastung oder AA-Filter vor der Abtastung. Da ist mir noch alles Klar !! Was aber nun hat die Abtastung und das Abtasttheorem von Shannon bei einer Signalerzeugung (Oszillator) zu tun ????? :oops: Da wird das gewünschte Signal ja nicht abgetastet sondern direkt mit entsprechenden Algorithmen erzeugt rsp. die nötigen Sampels pro Perioden werden ja bestimmt gesetzt und können nicht durch aliasing plötzlich verschwinden und somit das Signal verfälschen. Genau da habe ich noch einen knopf in der Leitung !! Kann mir da jemand helfen ? Gruss Yello
>Offensichtlich enthält der Sägezahn Harmonische mit unendlich hoher >Frequenz. Jede natürliche vorkommende Wellenform (außer Sinus) hat harmoische Oberwellen, deren Frequenz immer ein vielfaches der Grundfrequenz ist. So und diese Oberwellen werden von ihrer Amplitude immer geringer je höher ihre "Ordnung" wird, soll heißen die 15 Harmonische ist kaum noch wahrnehmbar und um so höher die Harmonische desto weniger Amplitude ... irgendwann gegen quasi null. >Aber was mir noch nicht richtig in den Kopf will ist folgendes. >Es ist völlig einleuchtend wenn ich ein Eigangssignal erfassen will >(Sampling) und dieses eine höhere Frequenz als 1/2 von fs hat, diese >Abtastung führt dann zu erheblichem Aliasing (Das zu schnelle Signal hat >dann nur noch ein Wert pro Periode erfasst und kann somit nicht mehr >Rekonstruiert werden! Überleg mal, ob das zu abtastende Signal nun von einem ADC kommt, oder aus einem Speicher oder sonst wo ist doch egal, das Threorem schlägt immer zu ;) und hat immer gültigkeit... Noch ein Kaffee? gruß Jonas
So ich versuche es nochmal anders zu erklären: Versuch mal dir bitte folgendes vorzustellen: Du hast einen Speicher in dem du Samples zur Ausgabe einer Wellenform hast. Nehmen wir die einfachste, ein Rechteck. Wenn ich nun diesen Speicher periodisch auslese (in dem Beispiel immer zwei Werte) bekomme ich am Ausgang ein Rechteckwellenform mit genau der halben Abtastfrequenz, da sich ein Wert ja genau alle zwei Samples wiederholt (bzw. der Nulldurchgang alle zwei Samples passiert). S1 S2 0 255 | | | | | | | | | | | 0 255 0 255 0 255 0 255 Deshalb ist die maximale Frequenz die ich so ausgben kann eben genau die hälfte der Abtastfrequenz. Klar oder ? Also das Therorem lässt sich "umgekehrt" viel leichter verstehen... Gruß Jonas
jonas biensack schrieb: > Überleg mal, ob das zu abtastende Signal nun von einem ADC kommt, oder > aus einem Speicher oder sonst wo ist doch egal, das Threorem schlägt > immer zu ;) > und hat immer gültigkeit... Noch ein Kaffee? Ohh Ja Klar ! jetzt verstehe ich ! Nach dem ADC werden die Werte ja auch in einen Speicher geschrieben. zwar nur kursfristig bis der nächste Samplewert erfasst wird. Aber für die Rekonstruktion ist es ja egal ob die Werte vom ADC oder von einem Speicher kommen. Vielen Dank für die Erklärung Gruss und schöne Pfingsten Roger
>Ohh Ja Klar ! jetzt verstehe ich ! >Nach dem ADC werden die Werte ja auch in einen Speicher geschrieben. >zwar nur kursfristig bis der nächste Samplewert erfasst wird. >Aber für die Rekonstruktion ist es ja egal ob die Werte vom ADC oder >von einem Speicher kommen. >Vielen Dank für die Erklärung >Gruss und schöne Pfingsten >Roger Find ich toll! Gute nacht :)
Also für mich macht es schon einen Unterschied, ob ich DAC oder ADC betrachte! Beim ADC habe ich das Problem der Unterabtastung. Bei DAC habe ich ein weiteres Problem. Dies ist die Quantisierung. Mal im ganz Kleinen betrachtet, erzeuge ich bei einem Sägezahn zwischen jedem Samplepaar eine Sprungfunktion mit entsprechenden Offset. Je nach dem wie schnell die Wandlung erfolgt und mit welcher Amplitudenänderung entstehen jetzt noch zusätzliche Frequenzanteile. Dein Gedankenspiel mit dem Rechtecksignal, welches mit fs/2 umgesetzt wird ist aber korrekt. In diesem Fall wäre ja schon die Grundfrequenz am Limit des Aliasing.
Alexander Liebhold schrieb: > Bei DAC habe ich ein weiteres Problem. Dies ist die Quantisierung. Mal > im ganz Kleinen betrachtet, erzeuge ich bei einem Sägezahn zwischen > jedem Samplepaar eine Sprungfunktion mit entsprechenden Offset. Hmm Demnach habe ich doch zwei verschiede Probleme zu beachten ? Annahme Sinus-Signal: Beim ADC oder (Signalgenerator Mathematisch erzeugt) kann bei einer Signalfrequenz von > als 0.5 x Abtastrate eine Unterabtastung entstehen (Aliasing). Beim DAC müssen die entstehenden Treppenstufen mit einem Rekonstruktionsfilter geglättet werden. Da ein Sinus nur aus einer Grundwelle besteht, genügt ein relativ einfaches Filter ohne grosse Beeinflussung des gewünschten Signales. Annahme Sägezahn: Nun wird es komplizierter !! Beim ADC gilt noch das selbe wie bei einem Sinussignal Signalfrequenz > 0.5 x Abtastung führt zu Aliasing ! Beim DAC wird es nun schwierig !! Da ein Sägezahn aus einer Grundwelle mit einem sehr grossen Anteil von Oberwellen besteht (Spektrum) spiegelt es uns nun Frequenzanteile in den hörbaren Bereich ! Im Uebergangsbereich von +1 auf -1 haben wir sogar eine sehr grosse Treppenstufe (dirac Impuls mit unentlichem Signalspektrum). Diese Spiegelung der Frequenzen in den hörbaren Bereich kann man nicht mehr Filtern ohne das gewünschte Signal zu verfälschen !!!!!! Lösung: BLIT (Bandlimted Impuls Train) Es muss ein Sägezahn generiert werden, dessen Oberwellenspektrum so begrenzt wird, dass die höchste erzeugte Oberwelle immer noch < 0.5 x Abtastung entspricht. Bsp. Fs = 44.1kHz Sägezahn mit einer Frequenz von 11kHz dürfte nur noch eine Oberwelle besitzen !! Fazit: Es ist ein Ding der Unmöglichkeit einen Zägezahn in der Qualität einer analogen Schaltung in einem digitalen System (VA) zu Erzeugen !!!!! Jetzt ist mir auch klar warum die echt analogen synthesizer immer noch um Welten besser klingen als die digitalen. Mach da immer noch einen Ueberlegungsfehler oder hab ich es nun entlich kappiert ? Gruss Roger PS:Der Teufel liegt im detail
Guten Tag zusammen, Das analoge Synthesizer besser klingen finde ich jetzt nicht, sondern siw klingen einfach nur anders! Hör Dir mal den Virus an oder die Monomachine von Electron. Ich finde das die für VA sehr gut klingen. oder den JP8000. Ach ja analoge Synthesizer haben mehr Schwierigkeiten mit Sinusoszillator! mfg
Maik Werner schrieb: > Das analoge Synthesizer besser klingen finde ich jetzt nicht, sondern > siw klingen einfach nur anders! Klar das meint man in der regel auch damit ! Und schlussentlich klinkt das eben besser. ist aber natürlich geschmacksache. Ich habe einige digitale und auch analoge Flagschiffe. Die digitalen klingen halt alle eher steril. Bei den analogen klingen selbst die gleichen Modelle untereinander unterschiedlich. (Bauteiltoleranzen erwärmung usw. lassen Grüssen). Bei den analogen hat man das gefühl das die Dinger leben ! (Die Balken biegen sich). Aber manchmal will man ja auch bewusst den digitalen Sound einsetzten. Also beide haben natürliche Ihre Daseinsberechtigung. Und nicht umsonst boomen die analogen (Auferstehung von Moog, Dave smith usw.) !!!!!!!!!!!! Gruss Yello8247
Ach ja und betreffens Sinusgenerator wollte ich noch sagen: Den brauchts bei der subtraktiven klangerzeugung gar nicht !!! Gruss Yello8247
Leider habe ich den thread erst jetzt per Zufall gefunden, muss aber etwas Grundsätzliches dazu schreiben, auch wenn er schon alt ist: yello8247 schrieb: > BLIT (Bandlimted Impuls Train) Dazu gab es Mitte der 1990er mal ein paper, als das Thema VA-Synthese verstärkt aufkame und man die Grenzen erkannt hatte. Es wird seither in vielen digitalen Synthesizern verwendet. Ich benutze das u.a. hier: Digitaler LaPlace-Funktionsgenerator im FPGA wobei ich die Wellen kontrolliert, händisch zusammensetze. BLIT und BLEP sind aber diesbezüglich nicht die Ultima Ratio, denn: Der Knackpunkt ist, dass analoge Synthesizer und viele andere Geräte eben Grenzfrequenzen aufweisen, die weit oberhalb der 20kHz liegen, welche wir ja üblicherweise als Obergrenze annehmen. Ein Sägezahn oder auch das problematischere Rechteck, hat in einem solchen System immer irgendwo eine analoge Folgestufe, die eine endliche Bandbreite besitzt und das Signal somit begrenzt. Das gilt auch das klassische Dreieck und sogar für solche additiv gewonnenen, bandlimitierten Signale, die schon einmal einen Verzerrer durchlaufen haben. Alle diese Schaltungsteile, wie der Verzerrer selbst, sind in irgendeiner Weise bandbegrenzend, aber nicht notwendigerweise bei 20k. Im Gegenteil: Diese Begrenzung hängt mit der konkreten Schaltungstechnik zusammen und liegt im Bereich von 50kHz bis 250kHz, was ich so gemessen und gesehen habe. Einmal ist es ein simpler Tiefpass, einmal das Gain-Bandwidth-Limit eines OP und einmal ein Transistor-Spannungsfolger, der die Kapazität der Folgestufe nicht beliebig packt. Je nachdem, wie das Gerät aussieht und wofür es gedacht ist, ist die Wirkung stark unterschiedlich. Ringmodulatoren z.B. und Diodenverzerrer produzieren durchaus Frequenzen von jenseits der 100kHz mit relevantem Pegel! Diese Oberwellen laufen nun in die Folgeschaltung hinein. Das sind oft Filter oder weitere Verzerrer, die immer ein gewisses nichtlineares Verhalten und auch ein zeitliches Einschwingverhalten haben. Es macht daher einen großen Unterschied, wie steilflankig man diese ansteuert und wieviel Energie man hinein gibt. Auch wenn man diese Oberwellen in den besagten Wellenformen nicht höhren könnte bzw sie am Ausgang des Synthesizers - spätestens am folgenden Verstärker eliminiert würden, so verändern sie auf dem Weg dahin doch den Klang, weil sie Filter anders anregen, zusätzlich zum Schwingen bringen oder nichtlineare Stufen weiter aussteuern. Umgekehrt können sie Kompressorkomponenten in den Schaltungen stärker und früher zum limitieren anregen. Gerade analoge Kompressoren und ihre digitalen Nachbauten sind sehr empfindlich gegenüber transienten Oberwellen und reagieren anders. Fehlen diese Oberwellen, hat besonders der Beginn eines Tones weniger Charakter. Das ist mithin das, was Viele beim digitalen Synthesizer als "steril" einstufen. D.h. die Rechecke z.B. "leben" nicht, weil die Filter, die sie bearbeiten sollen, kein Leben eingehaucht bekommen (nebst der Tatsache, dass die bei digitaler Formulierung oft genau so bandlimitiert arbeiten, weil sie den Randbedingungen der btastfrequenz unterliegen). Umgekehrt führen Oberwellen mitunter auch zu einer Vervollständigung oder Vergleichmäßigung des Rauschspektums, was sich bei diskreten Verzerrern (Bandsättigung, Ladder-Filter) als "Weichmacher" entpuppt! Ein durch Oberwellen "gedithertes" Signal klingt im Detail auch anders, als eines, welches mit statistischem Rauschen ge"noise shaped" wurde. Somit fehlt durch das limitieren der Wellen relevanter Klang im Endprodukt.
yello8247 schrieb: > Fazit: > Es ist ein Ding der Unmöglichkeit einen Zägezahn in der Qualität einer > analogen Schaltung in einem digitalen System (VA) zu Erzeugen !!!!! Wenn man mit den üblichen Frequenzen arbeitet, ja. Man kann aber mit einer entsprechenden Abtastrate den Sägezahn und alle anderen oberwellenlastigen Signale in konventioneller Weise erzeugen und nutzen, wenn man Nyquist entsprechend berücksichtigt, d.h. eine hohe Abtastrate verwendet. Man kann mit z.B. 768kHz diese Oberwellen sehr leicht transportieren (Nyquist = 384) und auf die Filter und Verzerrer wirken lassen. Erst kurz vor dem Mixdown, wenn es nur noch lineare Bearbeitung gibt, also am Ausgang des Synths, werden sie runtergesampelt. Dann reichen die 192kHz, die man heute üblicherweise nutzt, bequem aus. Einige DSP-Synths gehen ja deshalb schon den Weg und nutzen 192kHz, um wenigstens so etwas um die 75kHz Bandbreite abzudecken. Das funktioniert natürlich nur, wenn die SW planmäßig dafür ausgelegt ist und nicht etwa, wenn man einen konventionellen plugin in der DAW auf ein Wave mit 192kHz loslässt. So richtig geht es IMHO erst ab 384kHz aufwärts. Da scheitert es bei Softwaresystemen aber meist an der Rechenleistung, weil jede Verdoppung der Frequenz die mögliche Stimmenzahl halbiert und bei Filtern zu teilweise quadratischem Aufwand führt. Bei 768kHz hat man natürlich auch noch problematische Oberwellen des Quellsignals im Spektrum, die vor Nyquist entweder weggefiltert werden oder - obwohl sie im Stoppband liegen - nicht perfekt genullt sind (digitale FIR-Filter!!). Diese führen auch zu Alias, aber das Fehlen der Anteile bei z.B. 200kHz aufwäerts macht keinen quantitativen Unterschied, weil die Amplituden klein sind und die noch existenten, umgeklappten Alias-Frequenzen reichen qualitativ zu 99% nicht in den hörbaren Bereich hinunter. Bei dem Beispiel 768 und einer GF von rund 200, die ich verwende, müssten schon relevante Frequenzen zwischen 750-768 kHz auftauchen, damit man sie umgeklappt als Spiegelfrequenz zwischen 0...18000 hören könnte. Als Vergleich: Nimmt man das Oberwellenspekrum eines 1kHz-Rechtecks, dann liegen zwischen 15kHz und Unendlich fast 40% der Energie - bei 15kHz bis real 150kHz in einem analogen Synth vielleicht noch 30%. All diese Frequenzen werden durch BLEP- und BLIT-Synthesizer erst garnicht erzeugt und deren Auswirkung fehlt dann im Klang. Das gilt mithin auch für alle möglichen Folgen dieser Oberwellen in nichtlinearen Verzerrern. Es gilt aber auch für Oberwellen aus den eingespeisten Grundwellen, die ein Verzerrer erzeugen würde und die auch wegkastriert werden müssen, d.h das Rechenmodell darf/kann die gar nicht erzeugen. Über mehrere Stufen kommt da immer mehr Abweichung zustande. Bei mir ist das z.B. nicht der Fall und oberhalb der 700, wo ich Probleme bekommen könnte, sind nur noch Promille der Energie zu finden. Davon wird wiederum nur ein Bruchteil herunter geklappt. Nach meiner Berechnung dämpfe ich die Alias-Oberwellen für das 1kHz-Rechteck mit mehr als 80dB. Schon -40 bis -50dB THD-Signalanteil gelten aber als nicht mehr hörbar, wenn er sich über das Spektrum verteilt. Um es also auf den Punkt zu bringen: Die Nutzung bandlimitierter Signale beseitigt nur ein Problem, dass die Verwender von limitierten Samplefrequenzen haben, weil sie damit nicht klarkommen. Sie lassen die Problemoberwellen einfach weg. Damit lassen sie aber auch die Wirkung derselben in analogen Folgestufen weg. Richtig wäre es, den analogen Synth in seiner Gänze zu simulieren, also mit seiner typischen internen Bandbreite, die er ja hat. Dann passt das. Sinnvollerweise muss man dazu in den Modellen die Bandbreite individuell an die Stufe anpassen. Bevor nun das Gegenargument kommt: Es gibt natürlich Methoden, auch die Wirkung der Oberwellen formelmäßig einzufangen und bandlimitiert zu berechnen, indem die mutmaßlichen Spiegelfrequenzen mit einem transformierten Modell der Folgestufe gefaltet wird. Das stößt aber auch an rechnerische Grenzen, birgt meist weniger Genauigkeit und versagt komplett, wenn man nicht weiß, was der Kunde anschließen wird. Nur dann, wenn man ihm das Signal im Zeitbereich gibt, kann er einen Verzerrer einstellen, programmieren oder hinzufügen, der dann richtig arbeitet. Ansonsten bräuchte er ein Model im Frequenzbereich. In der Studiotechnik klappt es mit der Weiternutzung der bandlimitierten Signale auch nur soweit, wenn man diese analog herausführt, sie dadurch gefiltert bekommt und das eigene Studiogerät ebenfalls eine 20k-Grenze bringt. An der Stelle sieht man aber schon den Effekt: jedes Gerät hat seine eigene individuelle Bandbegrenzung und genau dort, im Höhenbereich unterscheiden sie sich, weil dort die Filter arbeiten. Das ist bei Synths so und beim HIFI. Sobald man Abtastfrequenzen nutzt, die den headroom zum Horbaren einschränken, machen die AA-Filter den Klangunterschiede und das wieder abhängig davon, was der Verstärker ihnen an Höhen und Transienten verpasst :-)
Sehr interessante Ausführungen. Nur: Jürgen Schuhmacher. schrieb: > Die Nutzung bandlimitierter Signale ... > ... lassen die Problemoberwellen einfach weg. Damit lassen > sie aber auch die Wirkung derselben in analogen Folgestufen weg. Richtig > wäre es, den analogen Synth in seiner Gänze zu simulieren, also mit > seiner typischen internen Bandbreite, die er ja hat. Das spricht aus meiner Sicht keineswegs gegen die Verwendung von bandlimitierten Signalen, z.B. nach der BLIT-Methode. Man muss eben nur die Oberwellen, die es zu erzeugen gilt, so aufweiten, damit der individuelle Bereich des Objektes abgedeckt ist. > Bei mir ist das z.B. nicht der Fall und oberhalb der 700, wo ich > Probleme bekommen könnte Meines Erachtens bekommst du bereits bei >384kHz (Fs/2) Probleme mit der Darstellung.
yello8247 schrieb: > Da wird das gewünschte Signal ja nicht abgetastet sondern direkt mit > entsprechenden Algorithmen erzeugt rsp. die nötigen Sampels pro Perioden > werden ja bestimmt gesetzt und können nicht durch aliasing plötzlich > verschwinden und somit das Signal verfälschen. Kommt darauf an, mit welcher Frequenz du abtastest und mit welchen Nutzfrequenzen du arbeiten möchtest. Solange der maximale Anstieg in einem Sample passieren darf, kommst du über Nyquist nicht hinaus. Ich habe aber z.B. diese Problematik: Beitrag "bandlimitierte Rechtecksignale zielgenau erzeugen" Die Abtastfrequenz für den DAC ist deutlich höher, als das Nutzsignal an Komponenten haben darf. Als Beispiel kann der DAC mit 10MHz an samples befeuert werden und soll bandbegrenzte Rechtecke bis zu (als Beispiel) 300kHz ausgeben. Benutze ich eine einfache DDS, die die Zielfrequenz von 5kHz - 20kHz ausgibt, hat das Rechteck beim 10MHz-Signal einen Anstieg von 100ns, wenn ich direkt ein Rechteck daraus mache (z.B. "if Sinus > 0 -> output = 1, else -1") Das ist aber viel zu viel für die Anwendung. Sie muss auf eine Oberwelle von 300kHz begrenzt werden. Ich kann aber nicht einfach das Signal mit 3us hochzählen und eine Rampe machen, weil der Knick erheblich mehr Oberwellen hat. Das muss irgendwie S-förmig sein. Ich kann aber immer noch nicht sagen, wie man zielführend auf diese Kurve kommt.
M. W. schrieb: > Die Abtastfrequenz für den DAC ist deutlich höher, als das Nutzsignal an > Komponenten haben darf. Das ist per se nicht unbedingt falsch, aber: > Als Beispiel kann der DAC mit 10MHz an samples > befeuert werden und soll bandbegrenzte Rechtecke bis zu (als Beispiel) > 300kHz ausgeben. Wer braucht denn einen 30-fachen overhead? > Zielfrequenz von 5kHz - 20kHz Wenn die Grundfrequenz bis maximal 20kHz geht, ist bei der Grenze von 300kHz immerhin die 15. Oberwelle mit drin und die hat kaum noch an Wert. Da dürfte sich kaum ein Unterschied zeigen, ob man die Oberwellen noch weiter dämpft. > ein Rechteck beim 10MHz-Signal einen Anstieg von 100ns, wenn ich direkt > ein Rechteck daraus mache Wer macht denn das Recheck? Also wer sagt dem DAC, was er zu wandeln hat? Ein Prozessor nehme ich an, der von 0 auf MAX hochknallt? Die Frequenz, die der DAC dann sieht, ist immer ein Sprung, egal, wie langsam oder schnell dein Zeugs davor ist. Sprung bleibt Sprung. Bei dem zeitlichen overhead würde es eine einfache Rampe tun, denke ich.
HF-Techniker schrieb: > Wer braucht denn einen 30-fachen overhead? Das ist nur ein Beispiel. Der DAC kann die Frequenz, muss aber nicht damit angesteuert werden. Ich kann das in Grenzen auswählen. > Wenn die Grundfrequenz bis maximal 20kHz geht > Da dürfte sich kaum ein Unterschied zeigen, ob man die Oberwellen > noch weiter dämpft. Auch das ist nur ein Beispiel. Die Harmonischen gehen so weit, dass sie relevant sind, auch bei den kleine werdenen Anteilen. > Wer macht denn das Recheck? Meine Anwendung: Die Pulsumschaltung der Brücke. Siehe thread. > Bei dem zeitlichen overhead würde es eine einfache Rampe tun, denke ich. Wurde probiert. Reicht nicht aus.
Hier werden aber 2 unterschiedliche Dinge diskutiert: Einmal: Was kann BLEP und BLIT - bzw. was nicht? Und das Thema aus dem anderen thread: Wie bekommt man die in der Anstiegszeit begrenzten Wellen? Dafür wäre der direkte Weg wohl, eine COS-Funktion in den Übergang einzupassen. Das könnte man leicht zusammenbasteln. Die Sache stimmt dann insoweit, als dass der nachfolgende Filter perfekt folgt, solange er eine deutliche höhere Grenzfrequenz besitzt, keine Phasenverschiebung und auch keine wesentlichen Überschwinger produziert. Der etwas komplexere und allgemeine Weg ist wie schon beschrieben, die Oberwellen hart zu limitieren und die Harmonischen davor auszufaden, gfs auch mit einer COS-Funktion.
Und jetzt nochmals zu dem Thema Methoden: HF-Techniker schrieb: > Man muss eben nur die Oberwellen, die es zu erzeugen > gilt, so aufweiten, damit der individuelle Bereich des > Objektes abgedeckt ist. Genau und dann bitte dazu passend aber auch die Abtastfrequenz hochschrauben, damit Nyquist noch stimmt. Wie die Bandlimitierung am Ende erfolgt, ist dann sogar umsomehr reine Geschmacksache, denn: HF-Techniker schrieb: > Meines Erachtens bekommst du bereits bei >384kHz (Fs/2) > Probleme mit der Darstellung. Ich verwende ja ebenfalls eine Bandlimitierung und zwar variabel: a) Sofern es die o.g. "LaPlace"-Methode ist, entspricht sie der Wirkung der BLIT, weil mehr Oberwellen, als später darstellbar sind, nicht erzeugt werden. Nur ist die Methode bei mir im Detail eine andere, weil ich die Wellen allgemein additiv zusammensetze, statt spezielle, funktionsoptimierte Lösungen zu benutzen. Das kostet mich zwar grundsätzlich mehr Rechenaufwand, dafür ist die Schaltung universeller (und kann auch für Wave-Table genutzt werden). Auch ist sie im Vergleich zu DSPs für FPGAs tauglicher. b) Sofern die Wellen konventionell erzeugt und gefiltert werden, liegt die Bandbegrenzung deutlich unter Nyquist, aber gleichzeitig eben auch deutlich über dem Hörbaren. Man hat also sowohl bei der Erzeugung und Behandlung genug headroom, als auch bei der späteren Anti-Alias-Filterung. Das ist der Trick!
Der Vorteil "dieses" Tricks erschliesst sich mir einfach nicht. Es werden Wellenanteile erzeugt, die am Ende doch weggefiltert werden, um sie nicht auszugeben zu müssen, weil sie dann Probleme machen würden. Wenn sie keine Wirkung haben können oder sollen, braucht man sie auch nicht. Riecht für mich wieder nach Audio-Esotherik.
Die Annahme, dass sie keine Wirkung haben, gilt nur in einem linearen System. Nur dann lässt sich das dahingehend vereinfachen, die Problemfrequenzen von vorn herein einfach wegzulassen. Analoge Synthesizer und die darin verwendeten Verzerrerschaltungen sind aber keine linearen Systeme. Ganz im Gegenteil: Die Oszillatoren sind auch nur der Beginn der Signalkette und selbst komplexere Wellenformen aus ROMs werden meistens nicht unbearbeitet ausgegeben, sondern immer in irgendeiner Form gefiltert. Diese realen Filter sind (auch wenn sie theoretisch linear sind) praktisch immer nichtlinear und es sind eben genau die aggressiven Wellenformen mit den Oberwellen, welche das anregen und nutzen. Ich erkläre es nochmals am Beispiel des Rechtecks: Das C3 hat ungefähr 1kHz. Sein Spektrum mit der Amplitude 1 für die Grundschwingung verteilt sich in etwa so: 1 kHz ... 15 kHz : 2,02 (linearer Audiobereich) 17Khz ... 23 khz : 0,23 (Eingriffbereich der AA-filter) 19kHz ... 99 kHz : 0,72 (Limit der misten analogen Geräte) 100 ... 199 kHz : 0,35 (Limit praktisch aller anlaogen Geräte) 200 ... 383 kHz : 0,33 (Limit Nyquist für 768k) 385 ... 739 kHz : 0,32 (Spiegel-Frequenzen von 768 - Teil 1) 741 ... 799 kHz : 0,04 (Problem-Spiegel-Frequenz-Bereich +/- 30kHz um 768 herum 801 ... 999 kHz : 0,11 (Spiegel-Frequenzen von 768 - Teil 2) 1MHz ... 5 MHz : 0,8 weitere Spiegelfrequenzen mit teilweise Problembereichen Nimmt man die ersten beiden Bereiche bis 23kHz, dann hat man das, was man bekommt, wenn man ein sehr steiles Rechteck mit min. 25kHz Bandbreite auf einen typischen Audioeingang loslässt: Bis 15kHz ist das Meiste weitgehend linear, kaum phasenverzerrt und wird von den meisten Personen auch gehört. Mindestens 0,23 von insgesamt 2,25 = rund 10% spielen sich in dem Bereich ab, in dem die Antialisatingfilter des Erzeugers und Empfänger Samba machen und dafür sorgen, dass es überall anders klingt. Diese 10% Signalanteil sind deutlich wahrnehmbar. Auch bei einem Ton, der deutlich tiefer liegt, ist das noch so. Geht man davon aus, dass man bei den AA-Filtern im Mittel bei 21kHz auf 50%-25% gesenkt hat, weil dort wegen 44kHz die Grenze ist, dann hat man irgendwo zwischen 5% und 10% des Anteils noch durch die Filter des eigenen Geräts beeinflusst. Das hängt davon ab, was das für Filter sind und wie sie schwingen. Nimmt man jetzt z.B. ein 100kHz Rechteck und haut es auf den Eingang drauf, liegt fast 1/3 des Spektrums im zu filternden Bereich. Entsprechend ist die Auswirkung der verschiedenen Filter: Sie machen einen anderen Klang! Betrachtet man weiter einen analogen Synthesizer mit klassischem Komparator, dann hat es durchaus 1MHz Bandbreite an dessen Ausgang. Das bedeutet, rund 45% der Energie der Frequenzen liegt oberhalb dessen, was gehört und normalerweise betrachtet wird, was aber in die Filter real hineinläuft. Diese 45% machen den Klang des Geräts. Was davon am Ende auf den Ausgang geht, hängt allein von den Folgestufen- und dem letztlichen Verstärker ab. Die haben freilich ebenfalls Bandbreitenbegrenzung, aber eben alle woanders. Bei einigen modularen analogen Synthesizern z.B. kann man durchaus Anteile jenseits der 50kHz messen. Diese Komponenten werden also durch die finale Stufe ausgegeben und wirken dann wiederum auf alles, was man hinten dran schaltet. Will man all das mit einem digitalen Signalverarbeitungssystem modellieren, braucht man für "externe" Signale also 2x(50+) = z.B. 192kHz und für interne Signale etwas um den Bereich herum, den die meisten Folgestufen leistet: Nach meinen Erfahrungen sind das 100kHz-200kHz intern und auch extern gibt es Geräte, die mehr können: Ein kürzlich inspizierter Denon AVR z.B. rühmt sich einer Bandbreite von 10 ... 100kHz! Das bedeutet, man müsste bei bandlimitierten Signalen durchaus 200kHz berücksichtigen und auf die Folgestufen geben. Wäre mit fs=384kHz noch halbwegs zu machen. Dann hätte man etwa 80% der Nettosignalenergie abgebildet. Beschränkt man sich auf 100kHz Bandbreite, käme man mit 192kHz vlt. so garade hin - hätte aber schon 33% des Signals ignoriert. Nimmt man aber 768kHz, dann kann man sich den Luxus leisten, mit einem einfachen konventionellen IIR-Filter zu arbeiten, das bei z.B. 150kHz einsetzt und erst nach nach 3 Oktaven zu 90% zu macht. Das bedeutet, man bekommt praktisch alle zu nutzenden Frequenzen rein und hat nur die Probleme in dem vergleichsweise engen Bereich von 30kHz um die 768 herum, weil die wegen Nyqust an der 384 gespiegelt werden. In dem Bereich liegen aber nur 0,04 / 4,3 = <1% der Signalanteile, die durch den einfachen Filter auch noch zu 90% gekillt werden. Es wird also nur 1 Promille in den hörbaren Bereich gespiegelt. Der weitere Restfehler liegt dann nur in dem Bereich, der von Effekten kommt, welche zu eben diesen 1% an Spiegelfrequenzen angesteuert werden. Da die ebenfalls mit vlt. 100k bandbegrenzt arbeiten, kommt da praktisch nichts. Die Bereiche jenseits der 1MHz würden immer wieder falsche Spiegelfrequenzen anliefern, sie werden durch den internen Filter aber eliminiert, was nicht falsch ist, da die analogen Systeme das praktisch auch nicht verarbeiten. Es fehlt also an der Stelle nur etwas, was analog auch fehlen würde. Die Frequenzen zwischen 384 und den 741 sind die eigentlich interessanten: Diese werden von meinem System zunächst falsch abgebildet und teilweise auch vom 150kHz-Filter durchgelassen. Der Signalanteil beträgt aber nur 0,33 / 3,9 also etwa 8%. Gefiltert sind es etwa 3%. Diese erzeugen jedoch nur für die interne Modellierung ein Problem, weil sie sich im Bereich zwischen 30kHz und 384 aufhalten (nebst denen, die nicht gespiegelt wurden und sich dort richtigerweise aufhalten). Die hohen Anteile des Signals werden also nicht perfekt abgebildet, sondern leicht verzerrt. Davon ist aber nur die interne Modellierung von Effekten betroffen, die ich nach der Rechteckgewinnung anwende, die etwas ungenauer wird. Die durch diese Stufen durchgelassenen ungewollten Frequenzen sowie die neu erzeugten in dem Bereich sind aber am Ende kein Problem, weil sie durch einen Audio-Tiefpass am Ausgang gefiltert werden, der bei z.B. 24kHz dicht macht. Damit werden die durch nichtlineares Bearbeiten des Klangs durch die Effekteeinheiten erzeugten neuen Frequenzen im Audiobereich durchgelassen und die unhörbaren (ob zurecht oder zu unrecht generiert) gefiltert. ********************************************************************** Es passiert also mit den hochfrequenten Anteilen in meinem System zu 97% das, was auch in einem analogen Synthesizer passiert, während sie bei BLIT und BLEP komplett fehlen. **********************************************************************
:
Bearbeitet durch User
Hier noch ein anderes Beispiel, warum diese Oberwellen so wichtig sind: Nehmen wir das nichlineare Bandsättigungsmodell für ferromagnetische Werkstoffe mit seinen diskretisierenden Barkhausensprüngen: http://www.96khz.org/htm/magneticmodelling2.htm Denkt man sich ein typisches Musiksignal mit Bandbegrenzung bei 20kHz und Abtastung von 192kHz, dann gibt es eine maximale Steilheit der Amplitudenänderungen, denen das Modell dann schrittweise folgt, wobei u.a. am Ausgang Amplitudensprünge mit neuen Oberwellen entstehen, die gemäß Abtastfrequenz bis zu 96kHz Bandbreite haben können und entsprechend grob sind. Denkt man sich nun zu demselben Eingangssignal etliche Oberwellen im Bereich 20kHz bis 70kHz hinzu, die ebenfalls mit 192kHz noch darstellbar sind, dann würden diese bei direkter Ausgabe durch das Rekonstruktionsfilter eliminiert und hätten keine Wirkung. Soweit gut. Im Magnetmodell allerdings sorgen sie für eine Art dithern der Barkhausensprünge, d.h das Modell folgt schneller und präsiser dem niederfrequenten Anteil des Eingangssignals. Das entstehende Störspektrum hat dabei interessanterweise zunächst mehr Energie, was schlechter wäre - verschiebt sich aber derart nach oben, dass die spätere AA-Filterung vor dem Ausgang des Synths davon erheblich mehr eliminieren kann und am Ende der Klang weniger spektral gefärbt ist. In einer mechanischen Interpretation des Modells führen die Oberwellen quasi zu einer Art "Rütteln", denen die Bloch-Wände / Magnetisierungsgrenzen kleinteiliger folgen können. Das ist der interessante Effekt mit vielen nichlinearen Verzerrerschaltungen in Synthesizern: In analoger Form klingen diese weicher, besonders dann, wenn sie mit Signalen gefüttert werden, die schon zuvor ein analoges, verzerrendes Filter gesehen haben. Bei digitalen Systemen wird es von Stufe zu Stufe härter - es sei denn, man setzt die Samplefrequenz so hoch, dass die Oberwellen weitgehend korrekt wiedergegeben werden. Die Maßzahl dafür ist sozusagen der Störabstand zwischen den Oberwellen im Nutzbereich gegenüber denen im Problembereich, welche wieder ins hörbare Band hineingeklappt werden (siehe meine Bänderanalyse des Rechtecks weiter oben). Bei einer vollständigen Bandlimitierung durch Verwendung solcher bandlimitierter Methoden ist der Nutzbereich Null, d.h. der interessanteste Teil der analogen Filter wird gar nicht angestoßen/verwendet. Als Beispiel kann man sich mal den Klang der Software-Emulationen bzw, der FPGA-basierten Emulationen anhören, die einige Hersteller von ihren früheren analogen Synthesizern auf den Markt gebracht haben. Bei geringem Verzerrungsgrad erhält man einen Tiger ohne Krallen und bei starkem Einsatz der Filter wird es unangenehm zerrig.
yello8247 schrieb: > Was aber nun hat die Abtastung und das Abtasttheorem von Shannon bei > einer Signalerzeugung (Oszillator) zu tun ????? :oops: > Da wird das gewünschte Signal ja nicht abgetastet sondern direkt mit > entsprechenden Algorithmen erzeugt rsp. die nötigen Sampels pro Perioden > werden ja bestimmt gesetzt und können nicht durch aliasing plötzlich > verschwinden und somit das Signal verfälschen. Es ist nicht so, dass "die Frequenzen durch Aliasing verschwinden", sondern welche auftauchen. Solange es sich um einen echten Oszillator handelt, der wie ein analoger Sinusgenerator arbeitet, gibt es immer eine Schwingung deren Frequenz kleiner ist, als die Abtastfrequenz. Damit ergeben sich nur Probleme, einen entsprechenden Filter zu konstruieren, der bei hohen Frequenzen in der Nähe der Shannon-Nyquist-Frequenz wenig schwebt und überschwingt. Ansonsten gibt es keine neuen Frequenzen. Wenn aber ein sogenannter digitaler Oszillator wie bei einer digitalen PLL eingesetzt wird, dann springt der Wert beliebig zwischen -1 und 1 und das gibt ein Rechteck mit Phasensprüngen und entsprechend assoziierte Oberwellen. yello8247 schrieb: > Offensichtlich enthält der Sägezahn Harmonische mit unendlich hoher > Frequenz. Deshalb führt eine Abtastung zu erheblichem Aliasing, d.h. > Frequenzen über fg werden auf Frequenzen unterhalb fg abgebildet. Dies > führt zu”unsauberem“ Klang oder gar zu falscher Tonhöhe und kann nicht > durch nachträgliche Filterung behoben werden. Die Filterung muss natürlich VOR der Abtastung erfolgen. D.h. es wird ein Filter benötigt, der die Anstiegszeit so begrenzt, dass keine Frequenzen hindurch kommen, die nicht dargestellt werden können.
Jürgen, du hast doch genügend Audiobeispiele, die du posten könntest. Mich würde der hörbare Unterschied interessieren, ansonsten sind die Ausführungen zu theoretisch.
Mach ich, wenn ich mal viel Zeit habe. Das Problem ist aber, Dinge zu vergleichen, die nicht gleich sind. Man müsste erst einmal das Szenario definieren, wie ein Modell gebaut ist, das mit bandlimitierten Wellen operiert und im Vergleich dazu, eines mit nicht bandlimitierten. Die Restschaltung nimmt ja auch die eine oder andere Form jeweils Rücksicht und die Argumentation der BLEP-Verfechter ist, dass sie eben auch die Artefakte mitmodellieren und zwar die, die sich möchten. Und: jeder Filter verändert sich anders. Eine Gegenüberstellung kann man aber mal machen. Allerdings müssen das dann auch hochaufgelöste WAVs sein und keine MP3s.
Alexander L. schrieb: > Ein normaler TP-Filter würde zwar Abhilfe schaffen, aber gleichzeitig > die Signalform stark ändern. Dies geschieht aufgrund des > Amplitudenganges, bei dem schon die niedrigen Frequenzen gedämpft > werden. Auch wenn die Rückfrage auf eine sehr alte Frage erfolgt, könnte sie jemand der Experten eventuell beantworten: Wie ist das zu verstehen, dass die Signalform deformiert wird? Es wäre doch der Sinn, die Signalform zu ändern, wenigstens für die Frequenzen, die später alias-Frequenzen werden. Und das macht doch ein Tiefpassfilter, oder? Angenommen ich möchte 1.2kHz gut erfassen und benutze ein Filter mit 1.5kHz Grenzfrequenz. Werden dann Frequenzen tiefer beeinflusst? Jürgen S. schrieb: > Nimmt man das Oberwellenspekrum eines 1kHz-Rechtecks, dann liegen > zwischen 15kHz und Unendlich fast 40% der Energie Wie rechnet sich das? Amplitudenwerte zusammenzählen?
Nathan der Weise schrieb: > Angenommen ich möchte 1.2kHz gut erfassen und benutze ein Filter mit > 1.5kHz Grenzfrequenz. Werden dann Frequenzen tiefer beeinflusst? Ja. Bei der Grenzfrequenz von der Amplitude noch 70% da (Definition). Je nach Filterordnung reduziert es die Amplitude und verdreht dir die Phase schon bei deutlich niedrigeren Frequenzen...
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.