I have a set of transfer functions obtained by impacting an instrumentation hammer against a mass, measuring the acceleration on a set of accelerometers; the result is shown below. I want to get a curve to generalize the behavior of the system, in magnitude it is as simple as averaging the magnitude of the signals, however I wonder how can I treat the phase since by just calculating the angle of the mean per frequency the resulting curve is meaningless (which is explained in Phonon's answer).

With this in mind, is there a way to go? Additionally, I am working straight with the frequency domain signals of the measurement (calculated by the device); would this be solved by switching instead to the original time series --> averaging --> transforming manually to frequency?

Thanks in advance.


  • 1
    $\begingroup$ You’d need to average the complex arrays resulting from the DFTs, then compute the phase of that average. $\endgroup$
    – Jdip
    Jul 18 at 9:23
  • 2
    $\begingroup$ note that both "averaging" and "DFT" are linear operations, DFT->element-wise average is the same as element-wise average->DFT $\endgroup$ Jul 18 at 9:32
  • 1
    $\begingroup$ That was my first approach, written in Matlab reads as angle( mean( H_hammer_test(:,2:end), 2 ) ), however it plots plenty of blank segments and if I unwrap it, frequency range is reduced to less than 1 Hz. $\endgroup$
    – Julio
    Jul 18 at 9:38
  • 1
    $\begingroup$ @MarcusMüller Correct. Julio, how are the individual transfer functions computed? $\endgroup$
    – Jdip
    Jul 18 at 9:40
  • 3
    $\begingroup$ @Julio then I'd suggest you use the original time series, and do your calculations on that, because there you at least know what happens. $\endgroup$ Jul 18 at 10:14

1 Answer 1


As Peter Kootsookos pointed out (“The Nature of Circles,” DSPrelated blog, http://www.dsprelated.com/showarticle/57.php), averaging phase angle samples can be “tricky.” That’s because the circular (wraparound) nature of angles can lead us into trouble when computing phase averages.

Consider computing the average of two phase angles, $\alpha = 7\pi/8$ radians and $\beta =$ -$7\pi/8$ radians. Due to the directional nature of phase angles, we know the average of $\alpha$ and $\beta$ is an angle exactly halfway between $7\pi/8$ radians and -$7\pi/8$ radians, or $\pm\pi$ radians ($\pm180^\circ$). However, standard numerical averaging of the two scalar radian values $7\pi/8$ and -$7\pi/8$ results in zero radians ($0^\circ$), which is obviously incorrect.

The solution to this dilemma is to treat the two phase angles as the arguments of two complex numbers, add the two complex numbers (in rectangular format), and determine the sum’s argument (angle) to obtain the desired average phase angle.

  • $\begingroup$ If you need to take a deep dive into this stuff, the book title to search for is "Circular statistics". $\endgroup$
    – TimWescott
    Jul 19 at 14:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.