|
|
function [colorsOut] = PlotCno(gnssMeas,prFileName,colors) |
|
|
%[colors] = PlotCno(gnssMeas,[prFileName],[colors]) |
|
|
% Plot the C/No from gnssMeas |
|
|
% |
|
|
%gnssMeas.FctSeconds = Nx1 vector. Rx time tag of measurements. |
|
|
% .Svid = 1xM vector of all svIds found in gpsRaw. |
|
|
% ... |
|
|
% .Cn0DbHz = NxM |
|
|
% |
|
|
% Optional inputs: prFileName = string with file name |
|
|
% colors, Mx3 color matrix |
|
|
% |
|
|
%Output: colors, color matrix, so we match colors each time we plot the same sv |
|
|
|
|
|
M = length(gnssMeas.Svid); |
|
|
N = length(gnssMeas.FctSeconds); |
|
|
|
|
|
if nargin<2 |
|
|
prFileName = ''; |
|
|
end |
|
|
|
|
|
if nargin<3 || any(size(colors)~=[M,3]) |
|
|
colors = zeros(M,3); %initialize color matrix for storing colors |
|
|
bGotColors = false; |
|
|
else |
|
|
bGotColors = true; |
|
|
end |
|
|
|
|
|
timeSeconds = gnssMeas.FctSeconds-gnssMeas.FctSeconds(1);%elapsed time in seconds |
|
|
%Plot C/No |
|
|
for i=1:M |
|
|
Cn0iDbHz = gnssMeas.Cn0DbHz(:,i); |
|
|
iF = find(isfinite(Cn0iDbHz)); |
|
|
if ~isempty(iF) |
|
|
ti = timeSeconds(iF(end)); |
|
|
h = plot(timeSeconds,Cn0iDbHz); |
|
|
hold on |
|
|
if bGotColors |
|
|
set(h,'Color',colors(i,:)); |
|
|
else |
|
|
colors(i,:) = get(h,'Color'); |
|
|
end |
|
|
ts = int2str(gnssMeas.Svid(i)); |
|
|
if isfinite(gnssMeas.AzDeg(i)) |
|
|
ts = sprintf('%s, %03.0f^o, %02.0f^o',ts,... |
|
|
gnssMeas.AzDeg(i),gnssMeas.ElDeg(i)); |
|
|
end |
|
|
text(ti,Cn0iDbHz(iF(end)),ts,'Color',colors(i,:)); |
|
|
end |
|
|
end |
|
|
title('C/No in dB.Hz'),ylabel('(dB.Hz)') |
|
|
xs = sprintf('time (seconds)\n%s',prFileName); |
|
|
xlabel(xs,'Interpreter','none') |
|
|
grid on |
|
|
|
|
|
if nargout |
|
|
colorsOut = colors; |
|
|
end |
|
|
|
|
|
end %end of function PlotCno |
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
|
|
|
|
% Copyright 2016 Google Inc. |
|
|
% |
|
|
% Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
% you may not use this file except in compliance with the License. |
|
|
% You may obtain a copy of the License at |
|
|
% |
|
|
% http://www.apache.org/licenses/LICENSE-2.0 |
|
|
% |
|
|
% Unless required by applicable law or agreed to in writing, software |
|
|
% distributed under the License is distributed on an "AS IS" BASIS, |
|
|
% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
|
% See the License for the specific language governing permissions and |
|
|
% limitations under the License. |
|
|
|
|
|
|