2012/Projects/OwlPlatform/TransmitterTester: planeplotter.2.m

File planeplotter.2.m, 2.0 KB (added by saik, 5 years ago)

The matlab code that plots the XY, YZ and XZ graphs and diplays average power.

Line 
1clear;
2clc;
3TagID=9;
4
5angleFileID(3)=zeros(size(3,1));
6%% first file
7angleFileID(1)= fopen(strcat('dataFileXY.txt'));
8if angleFileID(1)==-1, error('Cannot Open File'),end;
9
10
11%% Second file
12angleFileID(2)= fopen(strcat('dataFileXZ.txt'));
13if angleFileID(2)==-1, error('Cannot Open File'),end;
14
15%% Third file
16angleFileID(3)= fopen(strcat('dataFileYZ.txt'));
17if angleFileID(3)==-1, error('Cannot Open File'),end;
18
19
20%% Data Collection
21
22for i=1:3
23  index=1;
24   
25    while(~feof(angleFileID(i)));
26       
27        signalID=[];
28        signalData=[];
29        line =fgetl(angleFileID(i));
30       
31        while(~strncmp(line,'Angle:',6) && ~feof(angleFileID(i)))
32            line =fgetl(angleFileID(i));
33        end
34        if(~feof(angleFileID(i)))
35        startIndex=strfind(line ,'Angle:');
36        angleData(index,i)= sscanf(line(1,startIndex:end),'Angle: %f %*[^\n]');
37        line=fgetl(angleFileID(i));
38       
39        a=0;
40        while(~strcmp(line,'*') && ~feof(angleFileID(i)) );
41            signalID(a+1)=0;
42            startIndex=strfind(line ,'TagID:');
43            if size(startIndex,2)~=0,signalID(a+1)=sscanf(line(startIndex(1,1):end),'TagID:%f RSSI:%*f %*[^\n]');end;
44           
45            startIndex=strfind(line ,'RSSI:');
46            if size(startIndex,2)~=0 && signalID(a+1)==TagID,signalData(a+1)=sscanf(line(startIndex(1,1):end),'RSSI:%f %*[^\n]');end;
47           
48            line =fgetl(angleFileID(i));
49            a=a+1;
50        end
51        radius(index,i)=mean((10.^(signalData/10))*.001);
52        index=index+1;
53        end
54    end
55end
56 
57%%radius(end+1,:)=[radius(1,1),radius(1,2),radius(1,3)]
58%%angleData(end+1,:)=[360, 360, 360]
59
60avgPower=mean(radius)
61totalAvg=mean(avgPower)
62minimum= min(min(radius))
63radius=radius-minimum;
64figure(1),polar(angleData(:,1)*pi/180,radius(:,1)),camroll(90);
65figure(2),polar(angleData(:,2)*pi/180,radius(:,2)),camroll(90);
66figure(3),polar(angleData(:,3)*pi/180,radius(:,3)),camroll(90);