Hi,
Thank you very much for sharing this useful work!
I'm recently exploring your peak power metric on my own fNIRS data. There are two weird facts that I don't understand, both about the setting of the time window length.
- It looks like the peak power metric likewise oscillates at 2x the cardiac frequency as the length of the time window changes. Here is an example:
fs = 10; % sampling frequency
d = [3*sin(2*pi*((1/fs):(1/fs):10))', 0.1*sin(2*pi*((1/fs):(1/fs):10))'+1]; % simulated 10s filtered signals from same channel
t = 1:(1/fs):10; % different time window length
peakPower = nan(length(t),1);
for tt = 1:length(t)
x = d(1:(1+t(tt)*fs-1), 1);
y = d(1:(1+t(tt)*fs-1), 2);
xy = xcorr(zscore(x),zscore(y),'unbiased');
pxy = periodogram(xy,hamming(length(xy)),length(xy),fs,'power');
peakPower(tt) = max(pxy);
end
figure;plot((1./fs):(1./fs):t(tt),x);hold on;plot((1./fs):(1./fs):t(tt),y);hold off; % plot of the simulated filtered signals
figure;plot(t,peakPower) % plot of peak power ~ time window length
- Both in the above example and in your publications, the filtered signals are assumed to have unchanged amplitude over time. But real cases are not usually like this assumption -- their amplitudes keep changing based on my observation. And then, the peak power metric may dramatically decrease if the signal amplitudes change within the time window. Here is an example:
fs = 10; % sampling frequency
d = [3*sin(2*pi*((1/fs):(1/fs):10))', 0.1*sin(2*pi*((1/fs):(1/fs):10))'+1]; % simulated 10s filtered signals from same channel
multAmp = (1.005:0.005:1.5)'; % multiplier to the filtered signal
d = d.*multAmp; % so that the signal amplitudes increase over time
t = 1:(1/fs):10; % different time window length
peakPower = nan(length(t),1);
for tt = 1:length(t)
x = d(1:(1+t(tt)*fs-1), 1);
y = d(1:(1+t(tt)*fs-1), 2);
xy = xcorr(zscore(x),zscore(y),'unbiased');
pxy = periodogram(xy,hamming(length(xy)),length(xy),fs,'power');
peakPower(tt) = max(pxy);
end
figure;plot((1./fs):(1./fs):t(tt),x);hold on;plot((1./fs):(1./fs):t(tt),y);hold off; % plot of the simulated filtered signals
figure;plot(t,peakPower) % plot of peak power ~ time window length
As the 2 examples show, the peak power metric is neither 'independent of signal length' nor 'independent of amplitude' in realistic situations. It depends on the appropriate choice of time window length (signal length to compute it) -- which in turn depends on the cardiac frequency (example#1) and the time scale on which the signal amplitude is constant (example#2).
I would like to know if you and your colleagues have any further explanations for these two phenomena. From a practical view, what are the recommendations for setting the length of the time window?
Thanks in advance and best,
Ming
Ph.D. candidate
Department of Psychological and Cognitive Sciences
Tsinghua University
Email: liming16@tsinghua.org.cn
Hi,
Thank you very much for sharing this useful work!
I'm recently exploring your peak power metric on my own fNIRS data. There are two weird facts that I don't understand, both about the setting of the time window length.
As the 2 examples show, the peak power metric is neither 'independent of signal length' nor 'independent of amplitude' in realistic situations. It depends on the appropriate choice of time window length (signal length to compute it) -- which in turn depends on the cardiac frequency (example#1) and the time scale on which the signal amplitude is constant (example#2).
I would like to know if you and your colleagues have any further explanations for these two phenomena. From a practical view, what are the recommendations for setting the length of the time window?
Thanks in advance and best,
Ming
Ph.D. candidate
Department of Psychological and Cognitive Sciences
Tsinghua University
Email: liming16@tsinghua.org.cn