Ich habe das Problem, dass ich signed(11 downto 0) in unsigned(13 downto 0) umwandeln will. Die 12 bit kommen aus einem ADC und die 14bit sind dann für einen DAC gedacht. Mein Problem liegt jetzt darin, das 12bit Signal in ein 14bit umzuwandeln, also das auffüllen der fehlenden Stellen durch nullen bekomm ich irgendwie nicht hin. Das mit dem signed nach unsigned, sollte doch automatisch gehen oda?
Ich glaub die meisten Leute würde noch interessieren, in welcher Programmiersprache du das machen möchtest.
Signal ADC : signed(11 downto 0); Signal DAC : unsigned(13 downto 0); DAC <= unsigned(resize(ADC, 14)); Musst halt nur schauen, ob das dann mit dem Offset passt...
Dennis Lindner schrieb: > Ich habe das Problem, dass ich > signed(11 downto 0) > in > unsigned(13 downto 0) > umwandeln will. Und was soll passieren, wenn in signed z.B. der Wert -23 steht? Soll dann im unsigned das entsprechende Bitmuster (Zweierkomplement) stehen? Oder sollen die restlichen Bits mit 0 aufgefüllt werden? Oder soll gar der Wert 0 herauskommen? Für -1 also: -1 = signed(11 downto 0) = 1111_1111_1111 --> sowas: unsigned(13 downto 0) = 11_1111_1111_1111 oder: unsigned(13 downto 0) = 00_1111_1111_1111 oder: unsigned(13 downto 0) = 00_0000_0000_0000
Von der Anwendung her gesehen, muss man sicher einfach nur auf den 14 Bit Wer 8192 drauf addieren, und dann passt das. Deswegen schrieb ich ja, das Offset muss stimmen. Die 0 vom ADC rutscht dann in die Mitte des DAC Bereiches auf 8192.
Danke erstmal, ich denke ich muss das wirklich mit nem Offset machen, bin aber nicht ganz sicher, der DAC braucht halt nen unsigned binary signal und wenn ich ein signal vorher durch den ADC schicke, gibt der den Bitstream signed aus. Ich werds 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.