Величина в квадрате когерентности в Matlab - PullRequest
0 голосов
/ 22 ноября 2018

Я пытаюсь получить квадратичную когерентность (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», и это не делает много сеансов, поэтому, должно быть, я ошибаюсь, но я просто не могу найти это.

Спасибо за помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...