Hallo zusammen, ich möchte einen 17 Bit Vektor auf einen 11 Bit Vektor abbilden. 64 Bit des ersten Vektor entsprechen also immer 1 Bit des kleinen Vektor. Wenn jetzt der 17 Bitvektor einen beliebigen Wert annimmt, möchte ich den passenden Wert des 11 Bit Vektor bekommen. Wie könnte ich das am besten regeln? irgendwelche eleganten Ideen? (das sind 2048 Verschiedene Bereiche, das als CASE zu schreiben ist etwas umständlich)
Simon B. schrieb: > Wie könnte ich das am besten regeln? Wenn das alles komplett beliebig und ohne Wiederholungen und Muster ist, dann hilft nur eine Lookup-Tabelle im ROM...
Hilft Dir vielleicht schon abschneiden? Das kommt einer Divison mit 64 gleich. Duke
Hm, ja die Werte sind beliebig. kommen von einem Mess-ADC. diese werden dann auf eine "nur" 11 Bit genauen PWM Modulator gegeben. Dann muss ich mich wohl mal an Excel setzen..
na dann wie Duke schon geschrieben hat:
1 | v11 (10 downto 0) <= v17 (16 downto 6); |
Uebrigens hat v17 (5) dann den Wert 0.5, kann also prima zum runden verwendet werden. Duerfte hier aber im Rauschen untergehen
Ja einfach abschneiden... Wenn die PWM nur 11 Bit hat, geht die Auflösung des ADC sowieso flöten... Evtl. noch ein TP-Filter... dazwischen...
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.