Forum: Analoge Elektronik und Schaltungstechnik Umrechnen Freq. Hz zu 1V/Oktave Steuerspannung


von Peter F. (peter_frend)


Lesenswert?

Hallo,

Ich stecke schon seit stunden vor einem wahrscheinlich kleinen problem. 
Ich verwende für ein Analog-Synthesizer-Inferface einen DAC mit 16-Bit.

Nun möchte ich gerne eine Funktion haben, die eine Frequenz als 
Parameter (in Hz) nimmt, und diese als Steuerspannung ausgibt.

(http://en.wikipedia.org/wiki/CV/Gate)

Hierfür habe ich die folgende DAC-Library gebaut (hier nur zur 
veranschaulichung):

void DAC_WriteChannel(int8_t channel, int16_t value);

Das funktioniert auch wunderbar.

Nur leider habe ich wirkliche Probleme bei der Formel zur Umrechung der 
Frequenz in Steuerspannung (0.01 V beim DAC ist in dem fall der Wert 13, 
0.1V 130, etc).

Ich habe mir bereits die Frequenztabelle 
(https://www.uni-muenster.de/imperia/md/content/fachbereich_physik/technik_didaktik/entwicklung_bau_synthesizer.pdf) 
angeguckt, aber keine Lösung gefunden.

Bin für jede Hilfe sehr dankbar!

: Bearbeitet durch User
von MaWin (Gast)


Lesenswert?

Peter Frend schrieb:
> aber keine Lösung gefunden.

log2(frequenz)-log2(32.703)

und log2(x) ist ln(x)/ln(2)

von Peter F. (peter_frend)


Lesenswert?

MaWin schrieb:
> log2(frequenz)-log2(32.703)
>
> und log2(x) ist ln(x)/ln(2)

Das heißt:
AD5668_write(WRITE_UPDATE_N, outputPin & 0x07, 
(log2(noteFrequency)-log2(32.703)) * 13.4   );
?

von Peter F. (peter_frend)


Lesenswert?

Peter Frend schrieb:
> Das heißt:
> AD5668_write(WRITE_UPDATE_N, outputPin & 0x07,
> (log2(noteFrequency)-log2(32.703)) * 13.4   );
> ?

(log2(noteFrequency)-log2(32.703)) * 13400 war's :)
Danke :)

von Ingenieur (Gast)


Lesenswert?

Darf man mal fragen, woher hier die 32.703 kommen?

von Karl H. (kbuchegg)


Lesenswert?

Ingenieur schrieb:
> Darf man mal fragen, woher hier die 32.703 kommen?

Aus dem Link vom Eroeffnungsposting.
Das tiefste C wird dort mit 0V repraesentiert und hat eine Frequenz von 
32.703Hz

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.