Recently, I came across a paper that focuses on signal processing using lock-in amplification.
the algorithm involves applying the Fast Fourier Transform (FFT) to a time-domain biosignal.
A band-pass filter is then applied in the frequency domain, specifically targeting the range of 0.7-1.5 Hz. This calculation is limited to spectral components with positive frequencies only.
The subsequent step involves performing the Inverse Fast Fourier Transform (IFFT) on the processed signal, resulting in a complex-numbered time-domain signal.
The article explains that the imaginary part of the signal is phase-shifted by π/2 relative to the real part of the signal.
This can be used as a reference function for lock-in amplification.
While this approach is not very common, I'm having trouble understanding its implications. How can this be interpreted?
The band pass matlab code is
samplerate=30; for i = 1:1024 filename = ['image' num2str(i) '.tiff']; img(:,:,i)= imread(filename); %1024 points rawdata(i) = mean2(img(110:140,110:140,i)) % image ROI pixel mean as time signal end nfft=1024/2; [row,column]=size(img(:,:,1)); ldf=samplerate/(nfft-1); % calculate band pass location Freq_range=[0.7 1.5]; R1 = round(Freq_range(1)/ldf); R2 = round(Freq_range(2)/ldf); Y=fft(rawdata); Y(1:R1)=0; % band pass Y(R2:nfft+1)=0; [m,p]=max(Y(1:nfft+1)); % the dominate frequency Rcfeq_MXfeq=p*ldf; BP_data=ifft(Y); % ifft signal is a complex number %% lock in amplification corrematrix = zeros(row,column); for i = 1: length(rawdata) corrematrix = corrematrix +raw_img(:,:,i)*BP_data(i); end t = [0:1023]/samplerate; % 時間向量 for j = 1 : length(rawdata) H = real(corrematrix)*cos(2*pi*Rcfeq_MXfeq*t(j))+imag(corrematrix)*sin(2*pi*Rcfeq_MXfeq*t(j));
The artical is Photoplethysmographic imaging of high spatial resolution
DOI is 10.1364/BOE.2.000996