kosst amojan
2007-09-29 18:31:20 UTC
Moin,
Ich möchte ein Audiosignal erzeugen. Und zwar soll
das ein einfaches Sinussignal werden.
Der springende Punkt ist, dass sich die Frequenz nach
einer gewissen Zeit "sprungartig" ändern soll.
Die Amplitude soll immer gleich hoch sein.
Also haben wir eine simple Funktion wie
y=sin((t*b)+d) mit t = zeitpunkt, b = Breitefaktor, d=Phasenverschiebung.
Oder so ähnlich zumindest...
Da es sich um ein Audiosignal handeln soll,
ist alles etwas einfacher, denn es sind nur 4096 Datenpunkte
zu füllen.
Beispielsweise existiert bis
Punkt 1001 eine Sinusfunktion, welche 440 Hz erzeugt.
Ab Punkt 1002 soll die Frequenz schlagartig
auf z.B. 345 Hz geändert werden _ohne_ ein Knacksen
zu erzeugen. Das bedeutet die Steigung/Frequenzänderung
darf keine Sprünge aufweisen/erzeugen.
Also errechne ich mir die Steigung aus der Gleichung für
die 440Hz, welche auf Grund der 440Hz im Punkt 1002
vorhanden sein müsste.
Jetzt meine frage: Wie erstellt mann eine Sinusfunktion,
die so verschoben und gestreckt ist, dass die Steigung
im Punkt 1002 zum vorigen Signal nahtlos anschließt?
Ich hoffe mein Problem ist einigermaßen klar.
Gruß,
Markus
Ich möchte ein Audiosignal erzeugen. Und zwar soll
das ein einfaches Sinussignal werden.
Der springende Punkt ist, dass sich die Frequenz nach
einer gewissen Zeit "sprungartig" ändern soll.
Die Amplitude soll immer gleich hoch sein.
Also haben wir eine simple Funktion wie
y=sin((t*b)+d) mit t = zeitpunkt, b = Breitefaktor, d=Phasenverschiebung.
Oder so ähnlich zumindest...
Da es sich um ein Audiosignal handeln soll,
ist alles etwas einfacher, denn es sind nur 4096 Datenpunkte
zu füllen.
Beispielsweise existiert bis
Punkt 1001 eine Sinusfunktion, welche 440 Hz erzeugt.
Ab Punkt 1002 soll die Frequenz schlagartig
auf z.B. 345 Hz geändert werden _ohne_ ein Knacksen
zu erzeugen. Das bedeutet die Steigung/Frequenzänderung
darf keine Sprünge aufweisen/erzeugen.
Also errechne ich mir die Steigung aus der Gleichung für
die 440Hz, welche auf Grund der 440Hz im Punkt 1002
vorhanden sein müsste.
Jetzt meine frage: Wie erstellt mann eine Sinusfunktion,
die so verschoben und gestreckt ist, dass die Steigung
im Punkt 1002 zum vorigen Signal nahtlos anschließt?
Ich hoffe mein Problem ist einigermaßen klar.
Gruß,
Markus