WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Scatter Plot aus Workspace (Datenformat problematisch)

 

RomanF
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 06.11.07
Wohnort: Wiesbaden
Version: ---
     Beitrag Verfasst am: 30.11.2007, 13:53     Titel: Scatter Plot aus Workspace (Datenformat problematisch)
  Antworten mit Zitat      
Servus,

ich habe von einem DVB-T Demodulator 16 Konstellationspunkte ausgelesen. Die Werte werden mir (dezimal) in den Array Editor geschrieben. Insgesamt sind das 143 Werte. 15 davon sind Befehl und 128 davon beschreiben die Konstellationspunkte. Also 16 Werte pro Punkt.

Beispiel 1. und 2. Punkt.:

RE Teil 1. Punkt: Wert 14-21
IM Teil 1. Punkt: Wert 22-20

RE Teil 2. Punkt: Wert 30 37
IM Teil 2. Punkt: Wert 38-45

usw...

Wie kann ich die Werte handeln, so dass ich daraus ein Scatterplot erstellen kann?

Danke für Eure Hilfe!
Gruß
Private Nachricht senden Benutzer-Profile anzeigen


Bijick
Ehrenmitglied

Ehrenmitglied



Beiträge: 914
Anmeldedatum: 18.06.07
Wohnort: Nürnberg
Version: R2006b, R2008b
     Beitrag Verfasst am: 30.11.2007, 15:01     Titel:
  Antworten mit Zitat      
Hallo RomanF,

verstehe ich das richtig, dass die Dezimalstellen der Punkte als einzelne Einträge eines Vektors vorliegen? Also soll aus den Werten

... 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6...

die Zahl

1.2345678 + 9.0123456 i

werden? Sonst bitte präzisieren, was 16 Werte pro Punkt bedeutet!

Wenn Du komplexe Werte c schon vorliegen hast, kannst du einen scatterplot so erstellen:

Code:
c=complex(rand(100,1),rand(100,1));
scatter(real(c),imag(c))


Herzliche Grüße
Bijick
_________________

>> why
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
RomanF
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 06.11.07
Wohnort: Wiesbaden
Version: ---
     Beitrag Verfasst am: 03.12.2007, 13:36     Titel:
  Antworten mit Zitat      
Hallo Bijick,

danke für die schnelle Antwort. Also, ich versuchs mal ganz anders...
Ich wunder mich auch über die 143 Werte und bin mir nicht so ganz sicher wie diese zugeteilt sind. Laut Hersteller des Demodulators ist die answer message auf den 'Get Constellation Input'- Befehl eine 64 Bytes Antwort. Format dabei ist 16-bits signed integer. Steuer ich die Kiste z.B. mit HyperTerminal bekomm ich einen Antwort in dieser Form:

TX 81 AF 0069FFB9000000000049005F00000000011C00640000000001440034FF2F00F10050FF000054FF0C00000000011EFFBC00000000FFBAFEE8003EFFCCFE5A00B6

Dabei ist 81 die Adresse des Moduls und AF der Befehl.

Nochmal zu den Punkten:

1. Punkt RE ist dabei: 0069
1. Punkt IM ist : FFB9

usw...

Genau so sieht die Antwort unter Matlab mit fscanf aus.

Wenn ich aber fread benutze werden mir die Werte dezimal in den Array Editor geschrieben. Damit kann ich aber eigentlich nicht viel anfangen. Das wären ja nur positive Werte und somit würden alle Konstellationspunkte im 1. Quadranten liegen. Das ist ja ziemlich doof...
Ich habs mit int16 usw. probiert, aber das funzt alles nicht.

Ich hoffe du kannst dir ungefähr vorstellen, was ich meine...

Grüße
RomanF
Private Nachricht senden Benutzer-Profile anzeigen
 
Bijick
Ehrenmitglied

Ehrenmitglied



Beiträge: 914
Anmeldedatum: 18.06.07
Wohnort: Nürnberg
Version: R2006b, R2008b
     Beitrag Verfasst am: 03.12.2007, 16:29     Titel:
  Antworten mit Zitat      
Hm,

das sieht jetzt aus, als seien die Werte alle hexadezimal. Aber sie sollen doch signed integer sein?? Kannst Du mal den fscanf-Befehl ganz angeben? Vielleicht steckt ein falscher format specifier drin...?

Herzliche Grüße
Bijick
_________________

>> why
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
RomanF
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 06.11.07
Wohnort: Wiesbaden
Version: ---
     Beitrag Verfasst am: 03.12.2007, 16:44     Titel:
  Antworten mit Zitat      
Der Befehl ist:

out = fscanf(s, '%i')

Aber egal was ich für ein Format wähle, es kommt immer in HEX raus.

Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
Bijick
Ehrenmitglied

Ehrenmitglied



Beiträge: 914
Anmeldedatum: 18.06.07
Wohnort: Nürnberg
Version: R2006b, R2008b
     Beitrag Verfasst am: 03.12.2007, 17:01     Titel:
  Antworten mit Zitat      
In dem Fall bin ich mit meinem Latein am Ende. Hoffentlich findet sich noch jemand mit besseren Ideen.

Grüße
Bijick
_________________

>> why
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.