Hallo zusammen, vielleicht kann mir ja jemand helfen. Ich habe jetzt mit Controllerprogrammierungen in C noch nicht so viel erfahrung. Ein paar kleinere Programme habe ich schon gemacht, die aber dann auch in Assambler. Hat aber soweit alles funktioniert. Ich habe mir von Analog Deveice das Evaluationbaord für den ADAU1701 besorgt um mal mit nem DSP ein bisschen zu spielen. Grundsätzlich hab ich das auch alles verstanden. Jetzt habe nen ATMEGA 128 genommen und diesen über I2C mit dem Evaluation board verbunden. Die Programmdaten und im Flash fertig abgelegte Parameterdaten funktioniert auch. Jetzt zu meinem Problem: Ich würde gern die Parameterdaten berechnen. Nur komm ich einfach nicht dahinter wie das geht... Es muss eine 28bit Zahl berechnet werden, die letzen 23bit sind die Nachkommastelle. Wenn ich jetzt z.B. die Lautstärke von um -1dB ändern möchte muss ich den letzten wert ja *0.89 nehmen. 0dB entspricht in diesem fall ne 1.0... -1dB währe ja dann 0.89000... Wie berechnet man sowas? Wie sage ich dem Compiler jetzt was vor dem Komma steht und was dahinter? Gibt es da vielleicht schon was fertiges und ist ganz einfach? Vielen Dank für die Hilfe. Gruß Tobias
Tobias schrieb: > die letzen 23bit sind die > Nachkommastelle. D.h. du hast Fixkommaarithmetik, wobei ein dezimaler Wert von 8388608 einer 1.0 entspricht. Von allen Zahlen einfach das 8388608-fache nehmen. Machst du ja im täglichen Leben auch. Wenn du mit Euro rechnen sollst, zb €8.45 und du willst keine Nachkommastellen, dann rechnest du eben in Cent. Die €8.45 entsprechen dann eben 845 Cent. Dein 'Euro' hier hat dann eben nicht 100 'Cent', sondern 8388608. > Wenn ich jetzt z.B. die Lautstärke von um -1dB ändern möchte muss ich > den letzten wert ja *0.89 nehmen. > 0dB entspricht in diesem fall ne 1.0... oder eben 8388608 > -1dB währe ja dann 0.89000... oder eben 8388608 * 0.89 -> 7465861
Du solltest Dir mal die Hilfe in Sigma-Studio durchforsten. Da gibt es auch ein paar Programmbeispiele. Falls auch mal Filterparameter berechnet werden sollen, unbedingt die PDF-Datei "FilterMathCalculations.pdf" besorgen! Im Anhang auch von mir mal ein paar rudimentäre Codefetzen. mfg
Super, Vielen dank ich glaube jetzt habe ich es auch verstanden. Dann kann ich das heute Abend mal testen!
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.