mi_measure.m 895 B

1234567891011121314151617181920212223242526272829303132
  1. function mival = mi_measure(phase_sig, amp_sig)
  2. % function mival = mi_measure(phase_sig, amp_sig)
  3. %
  4. % Returns a value for the MI measure calculated between two signals.
  5. % (Functionality to deal with multiple trials will be added soon)
  6. %
  7. % INPUTS:
  8. %
  9. % phase_sig - the instantaneous phase values for a signal which has been
  10. % filtered for a lower, modulating frequency, passed as a column vector
  11. %
  12. % amp_sig - the amplitude values for a signal which has been filtered for a
  13. % higher, modulated frequency, passed as a column vector
  14. %
  15. % Author: Angela Onslow, May 2010
  16. num_trials = size(phase_sig, 2);
  17. for count = 1:num_trials
  18. %Create composite signal
  19. z = amp_sig(:,count).*exp(1i*phase_sig(:,count));
  20. m_raw(count) = mean(z); %Compute the mean length of composite signal.
  21. mival(count,1) = abs((m_raw(count)));
  22. end
  23. if num_trials > 1
  24. mival = mean(mival);
  25. end