2012/Projects/OwlPlatform/TransmitterTester: planeplotter2.m

File planeplotter2.m, 3.0 KB (added by silasw, 5 years ago)

Plots XY, XZ and YZ plane data on three polar plots.

Line 
1clear;
2clc;
3TagID=9;
4
5angleFileID(3)=zeros(size(3,1));
6signalFileID(3)=zeros(size(3,1));
7
8%% first file
9angleFileID(1)= fopen(strcat('dataFileXY.txt'));
10if angleFileID(1)==-1, error('Cannot Open File'),end;
11signalFileID(1)= fopen('logfileXY');
12if signalFileID(1)==-1, error('Cannot Open File'),end;
13
14
15%% Second file
16angleFileID(2)= fopen(strcat('dataFileXZ.txt'));
17if angleFileID(2)==-1, error('Cannot Open File'),end;
18signalFileID(2)= fopen('logfileXZ');
19if signalFileID(2)==-1, error('Cannot Open File'),end;
20%% Third file
21angleFileID(3)= fopen(strcat('dataFileYZ.txt'));
22if angleFileID(3)==-1, error('Cannot Open File'),end;
23signalFileID(3)= fopen('logfileYZ');
24if signalFileID(3)==-1, error('Cannot Open File'),end;
25
26% Pre-allocate array,assumes all file have the same number of angles
27% angle()=fscanf(angleFileID(1),'%*s %*f %*s %f %*s %*f');
28% radius = zeros(size(angleData{1,1}),3);
29% angle=zeros(size(angleData{1,1}),3);
30
31%% Data Collection
32i=1;
33while(i<=3)
34    angleTS(:,i)=fscanf(angleFileID(i),'%*s %*f %*s %f %*s %*f');
35    frewind(angleFileID(i));
36    angleData(:,i)=fscanf(angleFileID(i),'%*s %*f %*s %*f %*s %f');
37    fclose(angleFileID(i));
38    line=fgetl(signalFileID(i));
39    signalTS=[];
40    signalID=[];
41    signalData=[];
42    a=0;
43    while(~feof(signalFileID(i)));
44        line=fgetl(signalFileID(i));
45        if(strncmp(line,'Current Time (seconds)',22));
46            signalTS(a+1)=sscanf(line,'Current Time (seconds): %f TS:%*f Dropped:%*f Brd ID:%*f TagID:%*f RSSI:%*f %*[^\n]');
47            signalID(a+1)=sscanf(line,'Current Time (seconds): %*f TS:%*f Dropped:%*f Brd ID:%*f TagID:%f RSSI:%*f %*[^\n]');
48           
49            signalData(a+1)=sscanf(line,'Current Time (seconds): %*f TS:%*f Dropped:%*f Brd ID:%*f TagID:%*f RSSI:%f %*[^\n]');
50            a=a+1;
51        end
52
53    end
54   
55    fclose(signalFileID(i));
56
57
58    index=1;
59     len=size(signalData,1);
60     
61     while(index~=len)
62         if(signalData(index)~=TagID)
63             signalID(index)=[];
64             signalData(index)=[];
65             signalTS(index)=[];
66             len=len-1;
67         else
68             index=index+1;
69         end
70     end
71 
72     startIndex=2;
73     size(angleData)
74     for index=1:size(angleData,1)
75         while signalTS(startIndex) < angleTS(index,i)
76             if(startIndex~=size(signalData))
77             startIndex=startIndex+1;
78             else
79             error('Time Stamps Do Not Match');
80             end
81         end
82         signalData(startIndex-1)
83         radius(index,i)=signalData(startIndex-1);
84     end
85
86     %[angleData(:,i),index]=sort(angleData(:,i));
87     %radius=radius(index,i);
88    i=i+1;
89end
90radius(end+1,:)=[radius(1,1),radius(1,2),radius(1,3)]
91angleData(end+1,:)=[360, 360, 360]
92
93minimum= min(min(radius))
94radius=radius-minimum;
95figure(1),polar(angleData(:,1)*pi/180,radius(:,1)),camroll(90);
96figure(2),polar(angleData(:,2)*pi/180,radius(:,2)),camroll(90);
97figure(3),polar(angleData(:,3)*pi/180,radius(:,3)),camroll(90);