Wie macht man am geschicktesten aus einem Sinus andere Signalformen?

Gast #1426500
Hi,

ich habe ein Sinus-Audiosignal(max.0.6Vss, max.20kHz), welches ich gerne 
in andere Signalformen umwandeln möchte, also Rechteck, Dreieck, 
Sägezahn, etc. Das Signal kann auch mit einem Vibrato-Effekt auftreten.

Wie kann ich denn am geschicktesten aus diesem Sinus andere Signalformen 
machen? Ich dachte zuerst daran, eine Rechteckspannung draus zu machen, 
die Frequenz an einen µC weiterzugeben, der mit einem 16/24-Bit 
DA-Wandler entsprechend die anderen Signalverläufe erzeugt, bei nur 
0.6Vss sollten die Stufen ja kaum hörbei sein. Alternative wäre die 
Verwendung von etwas in der Art wie dem XR2206, die Frequenz könnte dort 
soweit ich das sehen kann, durch eine mit PWM generierte Spannung für 
den VCO eingestellt werden. Nachteil ist, dass Vss wohl nicht bei jeder 
Signalform identisch ist.

Aber ich glaube, der "analoge" Weg ist da denk ich doch der bessere, 
weil ich ja Frequenzänderungen gar nicht so schnell "erkennen" kann. Der 
Vibrato-Effekt machts dann nochmal schwieriger.

Wie also macht man dann die Dreieck-/Sägezahnsignale analog? Mir kam die 
Idee, Konstantstromquellen zu verwenden.
Im Fall der Dreieckspannung konstant laden/entladen, gesteuert durch die 
steigende/fallende Flanke.
Bei Sägezahn permanent laden, bei steigender Flanke den Kondensator 
kurzschließen.

Hat jemand weitere Vorschläge/Anregungen/etc.?

Ralf
#1426542
Das hört sich nach einem Integrator an. Das funktioniert grundsätzlich 
schon, aber die Amplitude fällt mit steigender Frequenz. In einer 
Audioanwendung kann man das normalerweise nicht brauchen.

Digital lässt sich so etwas sicher machen, aber der Aufwand wird 
vermutlich relativ hoch. So spontan würde ich jetzt mal sagen: 
Signal->FFT->Oberschwingungen berechnen und addieren->iFFT->Generiertes 
Signal. Es gibt da vermutlich auch einfachere Lösungen.

Reinhard
Persönliche Seite #1426584
DAs schreit eigentlich nach einer DSP anwendung.

Es gibt diverse Methoden die Grundfrequenz eines Signals zu erkennen.
Die Amplitude auch. Also den Effektivewert z.B.

Dann das entsprechende Signal wieder ausgeben.

Rechteck ist ja einfach mit nem Timer Signal ein und aus Und das ganze 
mit der Amplitude multiplizieren. (Daher auch DSP weil der sehr schnell 
multipliziert)

Die andern Signalformen kann man z.B. Aus ner Tabelle lesen und auch 
wieder mit der Amplitude multiplizieren.

Die Geschwindigkeit ist hier nur durch die Auswahl de DSP begrenzt.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.