|
anirac01 |
Forum-Fortgeschrittener
|
|
Beiträge: 80
|
|
|
|
Anmeldedatum: 26.08.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.04.2011, 11:48
Titel: Dateninterpretationen
|
|
Hallo
Ich hab mal eine Frage,
in Matlab wird ja mit double Werten gearbeitet,
wenn ich diesen double Wert nun als 16,0 (16 Bit keine Nachkommastelle) interpretiere.
Nun will diesen Bitwert nun um zwei stellen ergänzen,
also einen 18,0 (18 Bits) haben, dafür würde ich gerne zwei Nullen anhängen,
das 16.Bit von vorher ist nun auf Bit 18, Bit 15 auf Bit 17 usw.
wenn ich einen bitshift um zwei mache, fallen die vorderen beiden bits aber dann weg, oder?
hat mir jemand eine idee wie ich das in matlab umsetzen kann?
Gruß
|
|
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 01.04.2011, 15:37
Titel: Re: Dateninterpretationen
|
|
Hallo anirac01,
Ich verstehe die Frage nicht. Welchen DOUBLE Wert interpretierst Du als 16.0 ? Was ist ein "Bitwert"? Auf welcher Seite möchtest Du Nullen anhängen? Auf welchen Input wendest Du BITSHIFT an?
Gruß, Jan
|
|
|
anirac01 |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 80
|
|
|
|
Anmeldedatum: 26.08.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.04.2011, 08:17
Titel:
|
|
|
|
|
Hallo,
also Matlab arbeitet ja mit double Werten,
nun arbeite ich mit Matlab und Simulink,
d.h. ich rufe von Matlab aus ein Simulink Modell auf,
das ausegführt wird einen Output hat mit dem ich dann in Matlab weiter arbeite.
In diesem Modell wird mit fix Werten gearbeitet, das bedeutet das er gleich am Eingang an diesem Xilinx Gateway Block sagt wie viele Bits es sind und wo der binäre punkt liegt. Am Ausgang ist auch so ein Block der aus dem Fix Wert wieder einen double macht (vor dem gateway hab ich ein 16,0 Format, also 16Bit und binärer punkt bei 0).
In Matlab gehts dann weiter und dann noch einmal in ein zweites Simulink Modell, hier interpretiert der Eingang das Modells den double wert als 18,17 Format (also 18 bit breit und bei 17 liegt der binäre punkt)
nun habe ich meinen 16,0 Wert durch multiplizieren (skalieren) mit 2^-15 auf einen 16,15 Wert gebracht.
Dieses Bit 16 soll nun im neuen Block das Bit 18 sein, d.h. das mir am Ende zwei Bit fehlen Bit 1 und Bit 2 die will ich gern mit Nullen auffüllen.
Leider kann ich es nicht besser erklären,
ich versuch einfach weiter bin glaub auf nem guten weg
gruß
|
|
|
anirac01 |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 80
|
|
|
|
Anmeldedatum: 26.08.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.04.2011, 08:40
Titel:
|
|
ich habs =)
ich hab einfach zu kompliziert gedacht,
muss das nur richtig rein geben, simulink kann das dann schon so wie ich das erwartet hab,
danke dennoch
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|