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

Hilfe zu textread

 

Trassa
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 27.02.09
Wohnort: Dortmund
Version: R2008a
     Beitrag Verfasst am: 27.02.2009, 19:10     Titel: Hilfe zu textread
  Antworten mit Zitat      
Hallo zusammen,


ich beschäftige mich seit einiger Zeit mit Matlab und bräuchte jetzt eure Hilfe.
Es geht um Folgendes^^ (c° Panzer):

Ich habe eine Datei mit folgendem Aufbau
Code:

5349 71 181869 1235384506.375091 0
5350 71 181870 1235384506.386086 1
5351 71 181871 1235384506.395080 0
5352 71 181872 1235384506.406087 1
5353 71 181873 1235384506.414087 0
5354 71 181873 1235384506.423095 0
5355 71 181874 1235384506.434087 1
5356 71 181875 1235384506.443093 0
5357 71 181876 1235384506.452115 1


wobei die erste Spalte die laufende Nummer vom Paket
die zweite - die Übertragungsrate (konstant)
die dritte - die Nummer vom empfangenen Paket (wenn einer verloren ging, versucht der Sniffer das erneut zu bekommen, was im Code zu sehen ist)
die vierte - Zeitpunkt wann das Paket empfamgen wurde
und die letzte - Paketindex aus dem Superframe (unwichtig)

So, die Aufgabe ist: die Werte in Matlab einlesen, auswerten und die Übertragungsrate mit Fehlerquote zu bestimmen.

Die erste Phase habe ich mit
Code:

[Pnummer,Urate,Lnummer,T, PTeil] = textread('bib','%d%d%d%f%d');
 

gelöst und 5 Arrays bekommen. Und ab hier komme ich irgendwie nicht mehr weiter.
Meine Idee wäre: die Anzahl von Paketen in gleichen Zeitabständen zu ermitteln und die dann irgendwie mit der Datenrate zu verknüpfen...

Wie realisiert man denn das Ganze?
Ich danke schon mal im Voraus für eure Aktivität.

Mfg
Trassa[/b]
Private Nachricht senden Benutzer-Profile anzeigen


derOli
Forum-Meister

Forum-Meister


Beiträge: 579
Anmeldedatum: 19.03.08
Wohnort: Leipzig
Version: 2010a
     Beitrag Verfasst am: 27.02.2009, 19:29     Titel:
  Antworten mit Zitat      
Hi,

Titel ist etwas irreführend, dein Problem hat nichts mit textread zu tun.

Für die Datenrate würde ich einfach die Anzahl von Paketen innerhalb jeder Sekunde zählen. Wobei du ja da eigentlich noch die Größe jedes Pakets brauchst du ja nicht unbedingt konstant ist. (Zumindest im IP Bereich) Dann würde ich noch die Anzahl doppelter Pakete bestimmen, da bekommst du ja dann die Fehlerrate raus.

Viele Grüße,

der Oli
Private Nachricht senden Benutzer-Profile anzeigen
 
Trassa
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 27.02.09
Wohnort: Dortmund
Version: R2008a
     Beitrag Verfasst am: 27.02.2009, 20:41     Titel:
  Antworten mit Zitat      
Erstmal danke für die erste Antwort.

Das stimmt, die Lösung hat mit textread wenig zu tun - mein Fehler.

Und in der zweiten Spalte ist die Paketlänge in Bit, die ja konstant sein muss, auch dafür sorry.

Oli, könnteste mir das ganze mit dem Code zeigen, wäre sehr dankbar

Grüße
Trassa
Private Nachricht senden Benutzer-Profile anzeigen
 
derOli
Forum-Meister

Forum-Meister


Beiträge: 579
Anmeldedatum: 19.03.08
Wohnort: Leipzig
Version: 2010a
     Beitrag Verfasst am: 28.02.2009, 17:51     Titel:
  Antworten mit Zitat      
Hi,

sorry wollte nicht Erbsenzähler rüberkommen. Smile
Denke mal so sollte es gehen:

Code:

% Datarate DR in bit/s
t=fix(T);
a=unique(t);
h=histc(t,a);
DR=Urate(1).*h;
 


Vorausgesetzt, unique(Urate)=71 sprich konstant. Ansonsten geht es aber auch.

Die Fehlerrate sollte so ähnlich gehen:

Code:

% Error E (gesamt zuviele Pakete)
b=unique(Lnummer);
k=histc(Lnummer, b);
% jetzt hast du in K für jede Paketnummer die Anzahl. Weiß nicht genau wie du die Fehlerrate berechnen sollst. Z.B. so:
E=count(k)-size(Lnummer,1);
% E sind jetzt die insgesamt verlorenen Pakete
 


Probiers aus und schreib zurück wenn irgendwas nicht geht.

Viele Grüße,

der Oli
Private Nachricht senden Benutzer-Profile anzeigen
 
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.