Я пытаюсь получить квадратичную когерентность (MSC) и нахожу некоторые проблемы.Теоретически, MSC является результатом пересечения двух сигналов, разделенных автоспектрами каждого сигнала.
Следовательно, это мой код:
Fs = 1000; % Sampling frequency
T = 1/Fs; % Sampling period
L = length(myData(1,:)); % length of segment
Hz = Fs*(0:(L/2))/L; % frequency vector
dat1 = fft(myData(1,:));
dat2 = fft(myData(2,:));
pow1 = dat1.*conj(dat1); % autospectra signal 1
pow2 = dat2.*conj(dat2); % autospectra signal 2
cpow = abs(dat1.*conj(dat2)).^2; % crosspectra
coh = cpow./(pow1.*pow2); % getting the coherence
coherence = coh(1:L/2+1);
coherence(2:end-1) = coherence(2:end-1); % adjusting length to Nyquest freq
figure;
plot(Hz,coherence)
, но результат только«1», и это не делает много сеансов, поэтому, должно быть, я ошибаюсь, но я просто не могу найти это.
Спасибо за помощь