Skip to content

Commit 3ac8d04

Browse files
committed
Improve example taking into account signal delay.
1 parent ed2779d commit 3ac8d04

File tree

1 file changed

+17
-5
lines changed

1 file changed

+17
-5
lines changed

toolbox/examples/demo_phase_prediction_error_simple.m

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,16 +40,28 @@
4040

4141
sigData = mapData.values;
4242

43-
spf_sigData = squeeze(sigData{2}.data)';
44-
osc_alpha_ipData = interp1(sigData{1}.time,sigData{1}.data,sigData{2}.time);
43+
% Extract data and downsample fast signal
44+
osc_alpha_ipData = sigData{1}.data;
45+
spf_sigData = downsample(squeeze(sigData{2}.data)',2);
46+
47+
% Compute sample frequency
48+
fs = 1/mean(diff(sigData{1}.time));
49+
50+
% Compensante offset in instantaneous predicted phase
51+
numSamples = 3;
52+
osc_alpha_ipData = osc_alpha_ipData(1+numSamples:end,:);
53+
54+
% Use same number of samples from SPF
55+
if size(osc_alpha_ipData,1) > size(spf_sigData,1)
56+
osc_alpha_ipData = osc_alpha_ipData(1:size(spf_sigData,1),:);
57+
else
58+
spf_sigData = spf_sigData(1:size(osc_alpha_ipData,1),:);
59+
end
4560

4661

4762
%% Phase error using standard non-causal methods
4863
disp('Determining phase using standard non-causal methods...');
4964

50-
% Compute sample frequency
51-
fs = 1/mean(diff(sigData{1}.time));
52-
5365
% Build zero phase band-pass filter
5466
PhaseErrorFilter = designfilt('bandpassfir', 'FilterOrder', round(fs), 'CutoffFrequency1', 9, 'CutoffFrequency2', 13, 'SampleRate', fs);
5567

0 commit comments

Comments
 (0)