54 lines
1.4 KiB
Matlab
54 lines
1.4 KiB
Matlab
|
classdef TimeSeriesDataBaseClass < DataBaseClass
|
||
|
|
||
|
%% Abstract public 'read-only' properties
|
||
|
properties (Abstract, SetAccess = private)
|
||
|
FileNameAppendage;
|
||
|
end
|
||
|
|
||
|
%% Public 'read-only' properties
|
||
|
properties (SetAccess = private)
|
||
|
Time = [];
|
||
|
SamplePeriod = 0;
|
||
|
end
|
||
|
|
||
|
%% Public properties
|
||
|
properties (Access = public)
|
||
|
SampleRate = 0;
|
||
|
StartTime = 0;
|
||
|
end
|
||
|
|
||
|
%% Protected properties
|
||
|
properties (Access = protected)
|
||
|
TimeAxis;
|
||
|
end
|
||
|
|
||
|
%% Abstract public methods
|
||
|
methods (Abstract, Access = public)
|
||
|
Plot(obj);
|
||
|
end
|
||
|
|
||
|
%% Get/set methods
|
||
|
methods
|
||
|
function obj = set.SampleRate(obj, sampleRate)
|
||
|
obj.SampleRate = sampleRate;
|
||
|
if(obj.SampleRate == 0)
|
||
|
obj.Time = [];
|
||
|
obj.TimeAxis = 'Sample';
|
||
|
elseif(obj.NumPackets ~= 0)
|
||
|
obj.Time = (0:obj.NumPackets-1)' * (1/obj.SampleRate) + obj.StartTime;
|
||
|
obj.TimeAxis = 'Time (s)';
|
||
|
end
|
||
|
end
|
||
|
function obj = set.StartTime(obj, startTime)
|
||
|
obj.StartTime = startTime;
|
||
|
obj.SampleRate = obj.SampleRate;
|
||
|
end
|
||
|
function samplePeriod = get.SamplePeriod(obj)
|
||
|
if(obj.SampleRate == 0)
|
||
|
samplePeriod = 0;
|
||
|
else
|
||
|
samplePeriod = 1 / obj.SampleRate;
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|